#Generated by ResourceBundle Editor (http://eclipse-rbe.sourceforge.net)
# Note that all of the labels should be in alphabetic order, with the exception of
# labels that are not really expected to be translated, such as the ports at the end of this file

acsrf.name = \u9632\u8de8\u7ad9\u8bf7\u6c42\u4f2a\u9020\u6269\u5c55
acsrf.api.action.addOptionToken = \u6dfb\u52a0\u4e00\u4e2a\u5df2\u6307\u5b9a\u540d\u79f0\u7684\u53cdCSRF\u4ee4\u724c\uff0c\u9ed8\u8ba4\u542f\u7528
acsrf.api.action.addOptionToken.param.String=
acsrf.api.action.removeOptionToken = \u7528\u7ed9\u5b9a\u540d\u79f0\u79fb\u9664\u9632\u8de8\u7ad9\u8bf7\u6c42\u4f2a\u9020\u4ee4\u724c
acsrf.api.action.removeOptionToken.param.String=
acsrf.api.desc=
acsrf.api.other.genForm = \u751f\u6210\u4e00\u4e2a\u8868\u5355\uff0c\u7528\u4e8e\u6d4b\u8bd5\u53cd\u8de8\u7ad9\u8bf7\u6c42\u4f2a\u9020\u4ee4\u724c\u7684\u7f3a\u5931 - \u901a\u5e38\u901a\u8fc7ZAP\u8c03\u7528
acsrf.api.other.genForm.param.hrefId=
acsrf.api.view.optionTokensNames = \u5217\u51fa\u6240\u6709\u9632\u8de8\u7ad9\u8bf7\u6c42\u4f2a\u9020\u4ee4\u724c\u7684\u540d\u79f0
acsrf.api.view.optionPartialMatchingEnabled = Define if ZAP should detect CSRF tokens by searching for partial matches
acsrf.api.action.setOptionPartialMatchingEnabled = Define if ZAP should detect CSRF tokens by searching for partial matches.
acsrf.api.action.setOptionPartialMatchingEnabled.param.Boolean=

alert.add.popup             = \u65b0\u8b66\u62a5...
alert.add.button.cancel     = \u53d6\u6d88
alert.add.button.save       = \u4fdd\u5b58
alert.add.title             = \u6dfb\u52a0\u8b66\u62a5
alert.deleteall.confirm = \u60a8\u786e\u5b9a\u8981\u5220\u9664\u6240\u6709\u8b66\u62a5\u5417\uff1f
alert.deleteall.button.tooltip = \u5220\u9664\u6240\u6709\u8b66\u62a5
alert.edit.title            = \u7f16\u8f91\u8b66\u62a5
alert.edit.button.tooltip = \u7f16\u8f91\u6700\u8fd1\u9009\u5b9a\u7684\u8b66\u62a5
alert.label.attack			= \u653b\u51fb\uff1a
alert.label.tags			= \u8b66\u62a5\u6807\u7b7e\uff1a
alert.label.cweid			= CWE ID\:
alert.label.desc			= \u8bf4\u660e\uff1a
alert.label.evidence		= \u8bc1\u636e\uff1a
alert.label.other			= \u5176\u4ed6\u4fe1\u606f\uff1a
alert.label.parameter		= \u53c2\u6570\uff1a
alert.label.ref				= \u6d89\u53ca\uff1a
alert.label.reliability		= \u4fe1\u5fc3\uff1a
alert.label.confidence		= \u4fe1\u5fc3\uff1a
alert.label.risk			= \u98ce\u9669\uff1a
alert.label.solution		= \u89e3\u51b3\u65b9\u6848\uff1a
alert.label.url				= URL\uff1a
alert.label.wascid			= WASC ID\:
alert.label.source = \u6839\u6e90\uff1a

alert.api.action.addAlert = Add an alert associated with the given message ID, with the provided details. (The ID of the created alert is returned.)
alert.api.action.addAlert.param.messageId = The ID of the message to which the alert should be associated.
alert.api.action.addAlert.param.name = \u8b66\u62a5\u7684\u540d\u79f0\u3002
alert.api.action.addAlert.param.riskId = The numeric risk representation ('0 - Informational' through '3 - High').
alert.api.action.addAlert.param.confidenceId = The numeric confidence representation ('1 - Low' through '3 - High' [user set values '0 - False Positive', and '4 - User Confirmed' are also available]).
alert.api.action.addAlert.param.description = \u8be5\u8b66\u62a5\u6240\u4f7f\u7528\u7684\u63cf\u8ff0\u6587\u5b57\u3002
alert.api.action.addAlert.param.param = \u9002\u7528\u4e8e\u6b64\u8b66\u62a5\u7684\u53c2\u6570\u540d\u79f0\u3002
alert.api.action.addAlert.param.attack = The attack (ex\: injected string) used by the scan rule.
alert.api.action.addAlert.param.otherInfo = \u6709\u5173\u6b64\u8b66\u62a5\u6216\u6d4b\u8bd5\u7684\u5176\u4ed6\u4fe1\u606f\u3002
alert.api.action.addAlert.param.solution = \u6b64\u8b66\u62a5\u7684\u89e3\u51b3\u65b9\u6848\u3002
alert.api.action.addAlert.param.references = \u6b64\u8b66\u62a5\u7684\u53c2\u8003\u8be6\u60c5\u3002
alert.api.action.addAlert.param.evidence = \u6b64\u8b66\u62a5\u76f8\u5173\u7684\u8bc1\u636e\u3002
alert.api.action.addAlert.param.cweId = \u6b64\u8b66\u62a5\u76f8\u5173\u7684 CWE \u6807\u8bc6\u7b26\u3002
alert.api.action.addAlert.param.wascId = \u6b64\u8b66\u62a5\u76f8\u5173\u7684 WASC \u6807\u8bc6\u7b26\u3002
alert.api.action.updateAlert = \u4f7f\u7528\u7ed9\u5b9a\u7684 ID \u548c\u8be6\u60c5\u4fe1\u606f\u66f4\u65b0\u8b66\u62a5\u3002
alert.api.action.updateAlert.param.id = \u9700\u8981\u66f4\u65b0\u7684\u8b66\u62a5 ID\u3002
alert.api.action.updateAlert.param.name = \u8b66\u62a5\u7684\u540d\u79f0\u3002
alert.api.action.updateAlert.param.riskId = The numeric risk representation ('0 - Informational' through '3 - High').
alert.api.action.updateAlert.param.confidenceId = The numeric confidence representation ('1 - Low' through '3 - High' [user set values '0 - False Positive', and '4 - User Confirmed' are also available]).
alert.api.action.updateAlert.param.description = \u8be5\u8b66\u62a5\u6240\u4f7f\u7528\u7684\u63cf\u8ff0\u6587\u5b57\u3002
alert.api.action.updateAlert.param.param = \u9002\u7528\u4e8e\u6b64\u8b66\u62a5\u7684\u53c2\u6570\u540d\u79f0\u3002
alert.api.action.updateAlert.param.attack = The attack (ex\: injected string) used by the scan rule.
alert.api.action.updateAlert.param.otherInfo = \u6709\u5173\u6b64\u8b66\u62a5\u6216\u6d4b\u8bd5\u7684\u5176\u4ed6\u4fe1\u606f\u3002
alert.api.action.updateAlert.param.solution = \u6b64\u8b66\u62a5\u7684\u89e3\u51b3\u65b9\u6848\u3002
alert.api.action.updateAlert.param.references = \u6b64\u8b66\u62a5\u7684\u53c2\u8003\u8be6\u60c5\u3002
alert.api.action.updateAlert.param.evidence = \u6b64\u8b66\u62a5\u76f8\u5173\u7684\u8bc1\u636e\u3002
alert.api.action.updateAlert.param.cweId = \u6b64\u8b66\u62a5\u76f8\u5173\u7684 CWE \u6807\u8bc6\u7b26\u3002
alert.api.action.updateAlert.param.wascId = \u6b64\u8b66\u62a5\u76f8\u5173\u7684 WASC \u6807\u8bc6\u7b26\u3002
alert.api.action.updateAlertsConfidence = \u66f4\u65b0\u6b64\u8b66\u62a5\u7684\u53ef\u4fe1\u7a0b\u5ea6\u3002
alert.api.action.updateAlertsConfidence.param.ids = \u591a\u4e2a\u9700\u8981\u66f4\u65b0\u7684\u8b66\u62a5 ID\uff0c\u7531\u9017\u53f7\u5206\u9694\u3002
alert.api.action.updateAlertsConfidence.param.confidenceId = The numeric confidence representation ('1 - Low' through '3 - High' [user set values '0 - False Positive', and '4 - User Confirmed' are also available]).
alert.api.action.updateAlertsRisk = \u66f4\u65b0\u6b64\u8b66\u62a5\u7684\u98ce\u9669\u7a0b\u5ea6\u3002
alert.api.action.updateAlertsRisk.param.ids = \u591a\u4e2a\u9700\u8981\u66f4\u65b0\u7684\u8b66\u62a5 ID\uff0c\u7531\u9017\u53f7\u5206\u9694\u3002
alert.api.action.updateAlertsRisk.param.riskId = The numeric risk representation ('0 - Informational' through '3 - High').
alert.api.action.deleteAlert = \u5220\u9664\u7ed9\u5b9a ID \u4ee3\u8868\u7684\u8b66\u62a5\u4fe1\u606f\u3002 
alert.api.action.deleteAlert.param.id=
alert.api.action.deleteAllAlerts = \u5220\u9664\u5f53\u524d\u4f1a\u8bdd\u4e2d\u7684\u6240\u6709\u8b66\u62a5\u3002
alert.api.desc=
alert.api.param.alertIds.illegal = The value [{0}] within the provided list [{1}] was invalid (required positive integer).
alert.api.param.confidenceId.illegal = Parameter {0} is not a valid confidence ID (integer in interval [0, 4]).
alert.api.param.riskId.illegal = Parameter {0} is not a valid risk ID (integer in interval [0, 3]).
alert.api.view.alert = \u6839\u636e\u7ed9\u5b9a ID \u83b7\u53d6\u8b66\u62a5\uff0c\u76f8\u5e94\u7684 HTTP \u4fe1\u606f\u53ef\u4ee5\u4ece \u2018messageId\u2019 \u5b57\u6bb5\u548c \u2018message' API \u65b9\u6cd5\u4e2d\u83b7\u53d6\u3002
alert.api.view.alert.param.id=
alert.api.view.alerts = \u83b7\u53d6 ZAP \u629b\u51fa\u7684\u8b66\u62a5\uff0c\u53ef\u9009\u62e9\u6839\u636e URL \u6216\u98ce\u9669 ID \u8fc7\u6ee4\uff0c\u6839\u636e\u5f00\u59cb\u4f4d\u7f6e\uff08'start'\uff09\u548c\u5355\u6b21\u8981\u67e5\u770b\u7684\u8b66\u62a5\u6570\u91cf\uff08\u2019count'\uff09\u5206\u9875\u663e\u793a\u3002
alert.api.view.alerts.param.baseurl=
alert.api.view.alerts.param.start=
alert.api.view.alerts.param.count=
alert.api.view.alerts.param.riskId=
alert.api.view.alertsByRisk = Gets a summary of the alerts, optionally filtered by a 'url'. If 'recurse' is true then all alerts that apply to urls that start with the specified 'url' will be returned, otherwise only those on exactly the same 'url' (ignoring url parameters)
alert.api.view.alertsByRisk.param.url=
alert.api.view.alertsByRisk.param.recurse=
alert.api.view.alertCountsByRisk = Gets a count of the alerts, optionally filtered as per alertsPerRisk
alert.api.view.alertCountsByRisk.param.url=
alert.api.view.alertCountsByRisk.param.recurse=
alert.api.view.alertsSummary = Gets number of alerts grouped by each risk level, optionally filtering by URL
alert.api.view.alertsSummary.param.baseurl=
alert.api.view.numberOfAlerts = Gets the number of alerts, optionally filtering by URL or riskId
alert.api.view.numberOfAlerts.param.baseurl=
alert.api.view.numberOfAlerts.param.riskId=

alert.source.unknown = \u672a\u77e5
alert.source.active = \u6d3b\u52a8
alert.source.manual = \u4eba\u5de5\u7684
alert.source.passive = \u6d88\u6781\u7684
alert.source.tool = \u5de5\u5177

alert.tags.table.key = \u5bc6\u94a5
alert.tags.table.value = \u503c
alert.tags.button.add = \u6dfb\u52a0\u65b0\u6807\u7b7e
alert.tags.button.delete = \u5220\u9664\u6807\u7b7e
alert.tags.button.modify = \u7f16\u8f91\u6807\u7b7e
alert.tags.dialog.add.title = \u6dfb\u52a0\u65b0\u6807\u7b7e
alert.tags.dialog.add.button.confirm = \u6dfb\u52a0
alert.tags.dialog.add.key = \u5bc6\u94a5\uff1a
alert.tags.dialog.add.value = \u503c\uff1a
alert.tags.dialog.modify.title = \u7f16\u8f91\u6807\u7b7e
alert.tags.dialog.modify.button.confirm = \u66f4\u65b0
alert.tags.dialog.warning.title.repeated.key = \u91cd\u590d\u7684\u8b66\u62a5\u6807\u7b7e\u5173\u952e\u5b57
alert.tags.dialog.warning.body.repeated.key = \u542b\u6709\u7ed9\u5b9a\u5173\u952e\u5b57\u7684\u8b66\u62a5\u6807\u7b7e\u5df2\u7ecf\u5b58\u5728\u3002

alerts.name = \u8b66\u62a5\u6269\u5c55
alerts.desc                 = \u5141\u8bb8\u60a8\u67e5\u770b\u548c\u7ba1\u7406\u8b66\u62a5
alerts.label.defaultMessage = \u6240\u6709\u62a5\u8b66\u7684\u5168\u90e8\u7ec6\u8282\u5c06\u5728\u8fd9\u91cc\u663e\u793a\u3002\n\
\n\
\u60a8\u53ef\u4ee5\u5728\u8bb0\u5f55\u548c\u9009\u62e9'\u6dfb\u52a0\u8b66\u62a5'\u7684\u76f8\u5173\u884c\u53f3\u51fb\u624b\u52a8\u6dfb\u52a0\u8b66\u62a5\u3002\n\
\n\
\u60a8\u8fd8\u53ef\u4ee5\u901a\u8fc7\u53cc\u51fb\u5b83\u4eec\u6765\u7f16\u8f91\u8fd9\u4e9b\u8b66\u62a5\u3002
alert.optionspanel.name		= \u8b66\u62a5
alert.optionspanel.button.overridesFilename = \u9009\u62e9
alert.optionspanel.label.overridesFilename = Alert Overrides File\:
alert.optionspanel.label.maxinstances = \u62a5\u544a\u4e2d\u6700\u591a\u7684\u8b66\u62a5\u5b9e\u4f8b\u6570\u91cf\uff1a
alert.optionspanel.label.mergerelated = \u5408\u5e76\u62a5\u544a\u4e2d\u76f8\u5173\u8b66\u62a5
alert.optionspanel.warn.badOverridesFilename = Invalid Alert Overrides File
alerts.panel.mnemonic 		= a
alerts.panel.title          = \u8b66\u62a5
alerts.panel.linkWithSitesSelection.unselected.button.tooltip = \u4e0e\u7ad9\u70b9\u9009\u62e9\u5efa\u7acb\u94fe\u63a5
alerts.panel.linkWithSitesSelection.selected.button.tooltip = \u53d6\u6d88\u4e0e\u7f51\u7ad9\u9009\u62e9\u7684\u94fe\u63a5

alerts.refresh.popup        = \u5237\u65b0\u8b66\u62a5\u6811
alerts.tree.title           = \u8b66\u62a5
alerts.view.popup   		= \u4e3a\u6b64\u8282\u70b9\u62a5\u8b66

all.button.cancel = \u53d6\u6d88
all.button.close  = \u5173\u95ed
all.button.ok     = OK
all.button.pin    = \u56fa\u5b9a\u6807\u7b7e\u9875
all.button.remove = \u79fb\u9664
all.button.save   = \u4fdd\u5b58
all.button.select = \u9009\u62e9...
all.button.unpin  = \u53d6\u6d88\u56fa\u5b9a\u6807\u7b7e\u9875

all.prompt.dontshow = \u4e0d\u8981\u518d\u663e\u793a\u6b64\u6d88\u606f

anticsrf.desc = \u5904\u7406\u9632\u8de8\u7ad9\u8bf7\u6c42\u4f2a\u9020\uff08CSRF\uff09\u4ee4\u724c
anticsrf.genForm.popup      = \u751f\u6210\u9632\u8de8\u7ad9\u8bf7\u6c42\u4f2a\u9020\u6d4b\u8bd5\u8868

globalexcludeurl.desc = \u7ba1\u7406\u5168\u5c40\u6392\u9664\u7684URL
globalexcludeurl.name = \u5168\u5c40\u6392\u9664\u7f51\u5740\u6269\u5c55

api.name = API\u6269\u5c55
api.desc                    = \u63d0\u4f9b\u4e00\u4e2a\u57fa\u4e8eAPI\u7684REST\u6765\u63a7\u5236\u548c\u8bbf\u95eeZAP
api.dialogue.browseApiNotEnabled.title = API\u672a\u542f\u7528
api.dialogue.browseApiNotEnabled.message = \u5728\u6d4f\u89c8\u4e4b\u524d\u9700\u8981\u5148\u542f\u7528API\u3002\n\
\u4f60\u8981\u542f\u7528API\u5417\uff1f
api.dialogue.browseApiNotEnabled.button.confirm.label = \u542f\u7528\u5e76\u6d4f\u89c8API
api.dialogue.browseApiNotEnabled.button.cancel.label = \u53d6\u6d88
api.deprecated.option.endpoint = \u9009\u9879\u4e0d\u518d\u4f7f\u7528
api.error.already_exists    = \u5df2\u5b58\u5728
api.error.bad_action        = \u9519\u8bef\u64cd\u4f5c
api.error.bad_api_key		= \u65e0\u6548\u6216API\u5bc6\u94a5\u7f3a\u5931
api.error.bad_format        = \u683c\u5f0f\u9519\u8bef
api.error.bad_type          = \u9519\u8bef\u7c7b\u578b
api.error.bad_view          = \u9519\u8bef\u663e\u793a
api.error.bad_other         = \u5176\u4ed6\u9519\u8bef
api.error.bad_pconn         = \u9519\u8bef\u6301\u7eed\u8fde\u63a5
api.error.bad_state = \u9519\u8bef\u72b6\u6001
api.error.disabled          = \u5df2\u7981\u7528
api.error.does_not_exist    = \u4e0d\u5b58\u5728
api.error.href_not_found    = \u672a\u627e\u5230\u6d88\u606f
api.error.internal_error    = \u5185\u90e8\u9519\u8bef
api.error.missing_parameter = \u7f3a\u5c11\u53c2\u6570
api.error.mode_violation	= \u5f53\u524d\u6a21\u5f0f\u4e0d\u5141\u8bb8\u64cd\u4f5c
api.error.no_implementor    = \u6ca1\u6709\u6267\u884c\u8005
api.error.no_access		    = \u65e0\u8bbf\u95ee\u6743\u9650
api.error.scan_in_progress  = \u6b63\u5728\u626b\u63cf
api.error.url_not_found     = \u5728\u626b\u63cf\u6811\u4e2d\u672a\u627e\u5230URL
api.error.illegal_parameter = \u63d0\u4f9b\u7684\u53c2\u6570\u5177\u6709\u975e\u6cd5\u6216\u65e0\u6cd5\u8bc6\u522b\u7684\u503c
api.error.context_not_found = \u5339\u914d\u4e0d\u5230\u76f8\u5173\u5185\u5bb9
api.error.user_not_found 	= \u5339\u914d\u4e0d\u5230\u76f8\u5173\u7528\u6237
api.error.url_not_in_context= \u63d0\u4f9b\u7684url\u4e0d\u5728\u6240\u9700\u7684\u5185\u5bb9\u4e2d
api.error.bad_script_format = \u5f53\u52a0\u8f7d\u6240\u7ed9\u811a\u672c\u65f6\u51fa\u9519
api.error.script_not_found	= \u6ca1\u6709\u627e\u5230\u542b\u6240\u7ed9\u540d\u79f0\u7684\u811a\u672c
api.error.bad_external_data = \u7ed9\u5b9a\u7684\u5916\u90e8\u6570\u636e\u65e0\u6548\u3002
api.html.action             = \u64cd\u4f5c\uff1a
api.html.actions            = \u64cd\u4f5c
api.html.component          = \u7ec4\u4ef6\uff1a
api.html.components         = \u7ec4\u4ef6
api.html.deprecated.endpoint = <strong>\u4e0d\u63a8\u8350\u7684API\u7aef\u70b9\u3002</strong>\u4e0d\u63a8\u8350\u4f7f\u7528\u5b83\uff0c\u5728\u4ee5\u540e\u7248\u672c\u4e2d\u4f1a\u5c06\u5b83\u79fb\u9664\u3002
api.html.format             = \u8f93\u51fa\u683c\u5f0f
api.html.formMethod         = \u8868\u5355\u65b9\u6cd5
api.html.other              = \u5176\u4ed6\uff1a 
api.html.others             = \u5176\u4ed6
api.html.pconn              = \u6301\u7eed\u8fde\u63a5\uff1a 
api.html.pconns             = \u6301\u7eed\u8fde\u63a5
api.html.shortcuts			= \u5feb\u6377\u65b9\u5f0f
api.html.title              = ZAP API \u754c\u9762
api.html.view               = \u67e5\u770b\uff1a
api.html.views              = \u67e5\u770b
api.home.links.header		= <h2>\u94fe\u63a5</h2>
api.home.links.api.enabled	= <li><a href\="/UI">\u672c\u5730API</a></li>
api.home.links.api.disabled	= <li>Local API \u88ab\u7981\u6b62 - \u53ef\u901a\u8fc7 \u5de5\u5177 / \u9009\u9879... \u542f\u7528 / </li>
api.home.links.online		= <li><a href\="https\://www.zaproxy.org/">ZAP \u4e3b\u9875</a></li>\n\
<li><a href\="https\://groups.google.com/group/zaproxy-users">ZAP \u7528\u6237\u7fa4\u7ec4</a></li>\n\
<li><a href\="https\://groups.google.com/group/zaproxy-develop">ZAP \u5f00\u53d1\u8005\u7fa4\u7ec4</a></li>\n\
<li><a href\="https\://github.com/zaproxy/zaproxy/issues">\u62a5\u544a\u95ee\u9898</a></li>
api.home.cacert	= <h2>\u9632\u6b62 HTTPS \u8b66\u544a</h2>\n\
<p>\u8bf7\u5728\u60a8\u7684\u79fb\u52a8\u8bbe\u5907\u6216\u7535\u8111\u4e0a<a href\="/OTHER/core/other/rootcert{0}">\u4e0b\u8f7d</a> \u548c \n\
<a href\="https\://www.zaproxy.org/docs/desktop/ui/dialogs/options/dynsslcert/\#install" target\="_blank">\n\
\u5b89\u88c5 CA \u6839\u8bc1\u4e66</a> \uff0c\u4ee5\u9632\u6b62 HTTPS \u8b66\u544a\u3002</p>
api.home.proxypac			= <h2>Proxy Configuration</h2>\n\
<p>To use ZAP effectively it is recommended that you configure your browser to proxy via ZAP.</p><p></p>\n\
<p>The easiest way to do this is to launch your browser from ZAP via the "Quick Start / Manual Explore" panel - it will be configured to proxy via ZAP and ignore any certificate warnings.<br>\n\
Alternatively you can configure your browser manually or use the generated <a href\="/OTHER/core/other/proxy.pac{0}">PAC file</a>.</p>
api.home.topmsg				= <h1>\u6b22\u8fce\u4f60\u6765\u5230OWASP Zed Attack Proxy (ZAP)</h1>\n\
<p>ZAP\u662f\u4e00\u6b3e\u96c6\u6210\u5404\u79cd\u5de5\u5177\u7684\u6e17\u900f\u6d4b\u8bd5\u6846\u67b6\uff0c\u7528\u4e8e\u53d1\u73b0WEB\u5e94\u7528\u7a0b\u5e8f\u4e2d\u7684\u6f0f\u6d1e\u3002</p><p></p>\n\
<p>\u8bf7\u7559\u5fc3\uff0c\u4f60\u5e94\u8be5\u53ea\u653b\u51fb\u90a3\u4e9b\u5df2\u7ecf\u660e\u786e\u5141\u8bb8\u4f60\u53bb\u6d4b\u8bd5\u7684\u5e94\u7528\u7a0b\u5e8f\u3002</p>
api.menu.tools.url			= \u6d4f\u89c8\u5e94\u7528\u7a0b\u5e8f\u7f16\u7a0b\u63a5\u53e3
api.options.button.generateKey = \u751f\u6210\u968f\u673a\u5bc6\u94a5
api.options.enabled         = \u6d3b\u52a8
api.options.uiEnabled       = Web \u7528\u6237\u754c\u9762\u5df2\u542f\u7528
api.options.enableJSONP		= \u542f\u7528JSONP
api.options.label.apiKey = \u5e94\u7528\u7a0b\u5e8f\u7f16\u7a0b\u63a5\u53e3\u5bc6\u94a5\:
api.options.postactions     = \u9650\u5236\u4e3aPOST\u65b9\u6cd5
api.options.secure			= \u53ea\u5141\u8bb8\u5b89\u5168\u6a21\u5f0f
api.options.title           = \u5e94\u7528\u7a0b\u5e8f\u7f16\u7a0b\u63a5\u53e3
api.options.disableKey		= \u7981\u7528\u5e94\u7528\u7a0b\u5e8f\u7f16\u7a0b\u63a5\u53e3\u5bc6\u94a5
api.options.reportPermErrors	= \u901a\u8fc7API\u62a5\u544a\u6743\u9650\u9519\u8bef
api.options.noKeyForSafeOps	= \u4e0d\u9700\u8981\u5b89\u5168\u64cd\u4f5c\u7684\u5e94\u7528\u7a0b\u5e8f\u7f16\u7a0b\u63a5\u53e3\u5bc6\u94a5
api.options.incErrors		= \u901a\u8fc7\u5e94\u7528\u7a0b\u5e8f\u7f16\u7a0b\u63a5\u53e3\u62a5\u544a\u9519\u8bef\u8be6\u7ec6\u4fe1\u606f
api.options.autofillKey		= \u5728API UI\u4e2d\u81ea\u52a8\u586b\u5199API\u5bc6\u94a5
api.options.label.testingWarning	= <html>* \u4e0b\u5217\u9009\u9879\u5e94\u53ea\u7528\u4e8e\u6d4b\u8bd5\uff0c\u56e0\u4e3a\u5b83\u4eec\u6709\u53ef\u80fd\u8ba9\u653b\u51fbZAP\u53d8\u5f97\u5bb9\u6613</html>
api.options.nokey.error		= \u4f60\u5fc5\u987b\u63d0\u4f9b\u4e00\u4e2aAPI\u5bc6\u94a5\u6216\u5c06\u5b83\u663e\u5f0f\u7981\u7528\u3002
api.options.addr.add.title = \u6dfb\u52a0\u5141\u8bb8\u7684\u5730\u5740
api.options.addr.add.button.confirm = \u6dfb\u52a0
api.options.addr.field.label.domain = \u5730\u5740\uff1a
api.options.addr.field.label.regex = \u6b63\u5219\u8868\u8fbe\u5f0f\uff1a
api.options.addr.field.label.enabled = \u542f\u7528\uff1a
api.options.addr.modify.title = \u4fee\u6539\u8bb8\u53ef\u7684\u5730\u5740
api.options.addr.modify.button.confirm = \u4fee\u6539
api.options.addr.warning.invalid.regex.title = \u6b63\u5219\u8868\u8fbe\u5f0f\u6240\u5141\u8bb8\u7684\u5730\u5740\u65e0\u6548
api.options.addr.warning.invalid.regex.text = \u6b63\u5219\u8868\u8fbe\u5f0f\u65e0\u6548\u3002
api.options.addr.table.header.enabled	= \u6d3b\u52a8
api.options.addr.table.header.regex	= \u6b63\u5219\u8868\u8fbe\u5f0f
api.options.addr.table.header.value	= \u5730\u5740
api.options.addr.dialog.remove.title = \u79fb\u9664\u8bb8\u53ef\u7684\u5730\u5740
api.options.addr.dialog.remove.text = \u60a8\u786e\u5b9a\u8981\u5220\u9664\u9009\u5b9a\u7684\u5730\u5740\uff1f
api.options.addr.dialog.remove.button.cancel = \u53d6\u6d88
api.options.addr.dialog.remove.button.confirm = \u79fb\u9664
api.options.addr.dialog.remove.checkbox.label = \u4e0d\u8981\u518d\u663e\u793a\u6b64\u6d88\u606f
api.options.addr.title				= \u5141\u8bb8\u4f7f\u7528\u5e94\u7528\u7a0b\u5e8f\u7f16\u7a0b\u63a5\u53e3\u5730\u5740

ascan.activeActionPrefix = \u4e3b\u52a8\u626b\u63cf
ascan.name = \u4e3b\u52a8\u626b\u63cf\u6269\u5c55\u9879
ascan.api.action.addExcludedParam = \u4f7f\u7528\u6307\u5b9a\u7684\u540d\u79f0\u6dfb\u52a0\u626b\u63cf\u4e2d\u6392\u9664\u7684\u65b0\u53c2\u6570\u3002\u53ef\u9009\u8bbe\u7f6e\uff0c\u5982\u679c\u65b0\u6761\u76ee\u5e94\u7528\u4e8e\u7279\u5b9aURL(\u9ed8\u8ba4\uff0c\u6240\u6709URL) \u5e76\u8bbe\u7f6e\u53c2\u6570\u7c7b\u578b\u7684ID(\u9ed8\u8ba4\uff0c\u4efb\u4f55\u7c7b\u578b\u7684ID)\u3002\u7c7b\u578bid\u53ef\u4ee5\u901a\u8fc7\u67e5\u770bexcludedParamTypes\u83b7\u5f97 
ascan.api.action.addExcludedParam.param.name=
ascan.api.action.addExcludedParam.param.type=
ascan.api.action.addExcludedParam.param.url=
ascan.api.action.addScanPolicy=
ascan.api.action.addScanPolicy.param.scanPolicyName=
ascan.api.action.addScanPolicy.param.alertThreshold=
ascan.api.action.addScanPolicy.param.attackStrength=
ascan.api.action.modifyExcludedParam = \u4fee\u6539\u4ece\u626b\u63cf\u4e2d\u6392\u9664\u7684\u53c2\u6570\u3002\u5141\u8bb8\u4fee\u6539\u53c2\u6570\u7684\u540d\u79f0\u3001URL\u548c\u7c7b\u578b\u3002\u53c2\u6570\u53ef\u901a\u8fc7\u7d22\u5f15\u9009\u62e9\uff0c\u7d22\u5f15\u53ef\u4ee5\u901a\u8fc7\u88ab\u6392\u9664\u53c2\u6570\u89c6\u56fe\u83b7\u53d6\u3002
ascan.api.action.modifyExcludedParam.param.idx=
ascan.api.action.modifyExcludedParam.param.name=
ascan.api.action.modifyExcludedParam.param.type=
ascan.api.action.modifyExcludedParam.param.url=
ascan.api.action.removeExcludedParam = \u901a\u8fc7\u6307\u5b9a\u7684\u7d22\u5f15\u79fb\u9664\u4ece\u626b\u63cf\u4e2d\u88ab\u6392\u9664\u7684\u53c2\u6570\u3002\u8fd9\u4e2a\u7d22\u5f15\u53ef\u4ee5\u901a\u8fc7\u88ab\u6392\u9664\u53c2\u6570\u89c6\u56fe\u83b7\u53d6
ascan.api.action.removeExcludedParam.param.idx=
ascan.api.action.clearExcludedFromScan = \u6e05\u9664\u4e3b\u52a8\u626b\u63cf\u4e2d\u6392\u9664\u7684URL\u6b63\u5219
ascan.api.action.disableAllScanners = Disables all scanners of the scan policy with the given name, or the default if none given.
ascan.api.action.disableAllScanners.param.scanPolicyName=
ascan.api.action.disableScanners = Disables the scanners with the given IDs (comma separated list of IDs) of the scan policy with the given name, or the default if none given.
ascan.api.action.disableScanners.param.ids=
ascan.api.action.disableScanners.param.scanPolicyName=
ascan.api.action.enableAllScanners = Enables all scanners of the scan policy with the given name, or the default if none given.
ascan.api.action.enableAllScanners.param.scanPolicyName=
ascan.api.action.enableScanners = Enables the scanners with the given IDs (comma separated list of IDs) of the scan policy with the given name, or the default if none given.
ascan.api.action.enableScanners.param.ids=
ascan.api.action.enableScanners.param.scanPolicyName=
ascan.api.action.excludeFromScan = \u6dfb\u52a0\u4e00\u4e2a\u5e94\u8be5\u4ece\u4e3b\u52a8\u626b\u63cf\u4e2d\u6392\u9664\u7684URL\u6b63\u5219
ascan.api.action.excludeFromScan.param.regex=
ascan.api.action.pause=
ascan.api.action.pause.param.scanId=
ascan.api.action.pauseAllScans=
ascan.api.action.removeAllScans=
ascan.api.action.removeScan=
ascan.api.action.removeScan.param.scanId=
ascan.api.action.removeScanPolicy=
ascan.api.action.removeScanPolicy.param.scanPolicyName=
ascan.api.action.resume=
ascan.api.action.resume.param.scanId=
ascan.api.action.resumeAllScans=
ascan.api.action.scan = \u901a\u8fc7\u6307\u5b9a\u7684URL\u548c/\u6216\u5185\u5bb9\u8fd0\u884c\u4e3b\u52a8\u626b\u63cf\u5668\u3002\u53ef\u9009\u7684\u914d\u7f6e\u6709\uff0c'\u9012\u5f52'\u53c2\u6570\u53ef\u7528\u4e8e\u626b\u63cf\u6307\u5b9aURL\u4e0b\u7684URL\uff0c'\u4ec5\u6307\u5b9a\u8303\u56f4\u5185'\u53ef\u7528\u4e8e\u6307\u5b9a\u53ea\u626b\u63cf\u8303\u56f4\u5185\u7684URL(\u5982\u679c\u6307\u5b9a\u7684\u662f\u5185\u5bb9\u5219\u5ffd\u7565\u8be5\u9009\u9879)\uff0c\u53c2\u6570'\u626b\u63cf\u7b56\u7565\u540d\u79f0'\u5141\u8bb8\u6307\u5b9a\u626b\u63cf\u7b56\u7565(\u5982\u679c\u672a\u6307\u5b9a\u626b\u63cf\u7b56\u7565\uff0c\u5219\u4f7f\u7528\u9ed8\u8ba4\u626b\u63cf\u7b56\u7565)\uff0c\u53c2\u6570'\u65b9\u5f0f'\u548c'post\u6570\u636e'\u5141\u8bb8\u7ec4\u5408\u6307\u5b9a\u7684\u8bf7\u6c42\u548c\u6307\u5b9a\u7684URL\u3002
ascan.api.action.scan.param.url=
ascan.api.action.scan.param.recurse=
ascan.api.action.scan.param.inScopeOnly=
ascan.api.action.scan.param.scanPolicyName=
ascan.api.action.scan.param.method=
ascan.api.action.scan.param.postData=
ascan.api.action.scan.param.contextId=
ascan.api.action.scanAsUser = Active Scans from the perspective of a User, obtained using the given Context ID and User ID. See 'scan' action for more details.
ascan.api.action.scanAsUser.param.url=
ascan.api.action.scanAsUser.param.contextId=
ascan.api.action.scanAsUser.param.userId=
ascan.api.action.scanAsUser.param.recurse=
ascan.api.action.scanAsUser.param.scanPolicyName=
ascan.api.action.scanAsUser.param.method=
ascan.api.action.scanAsUser.param.postData=
ascan.api.action.setEnabledPolicies=
ascan.api.action.setEnabledPolicies.param.ids=
ascan.api.action.setEnabledPolicies.param.scanPolicyName=
ascan.api.action.setOptionAddQueryParam = Sets whether or not the active scanner should add a query param to GET requests which do not have parameters to start with.
ascan.api.action.setOptionAddQueryParam.param.Boolean=
ascan.api.action.setOptionAllowAttackOnStart=
ascan.api.action.setOptionAllowAttackOnStart.param.Boolean=
ascan.api.action.setOptionAttackPolicy=
ascan.api.action.setOptionAttackPolicy.param.String=
ascan.api.action.setOptionDefaultPolicy=
ascan.api.action.setOptionDefaultPolicy.param.String=
ascan.api.action.setOptionDelayInMs=
ascan.api.action.setOptionDelayInMs.param.Integer=
ascan.api.action.setOptionHandleAntiCSRFTokens=
ascan.api.action.setOptionHandleAntiCSRFTokens.param.Boolean=
ascan.api.action.setOptionHostPerScan=
ascan.api.action.setOptionHostPerScan.param.Integer=
ascan.api.action.setOptionInjectPluginIdInHeader = \u8bbe\u7f6e\u4e3b\u52a8\u626b\u63cf\u5668\u662f\u5426\u5e94\u5c06\u53d1\u9001\u8bf7\u6c42\u7684\u626b\u63cf\u5668\u7684ID\u6ce8\u5165HTTP\u8bf7\u6c42header X-ZAP-Scan-ID\u3002
ascan.api.action.setOptionInjectPluginIdInHeader.param.Boolean=
ascan.api.action.setOptionMaxChartTimeInMins=
ascan.api.action.setOptionMaxChartTimeInMins.param.Integer=
ascan.api.action.setOptionMaxResultsToList=
ascan.api.action.setOptionMaxResultsToList.param.Integer=
ascan.api.action.setOptionMaxRuleDurationInMins=
ascan.api.action.setOptionMaxRuleDurationInMins.param.Integer=
ascan.api.action.setOptionMaxScanDurationInMins=
ascan.api.action.setOptionMaxScanDurationInMins.param.Integer=
ascan.api.action.setOptionMaxScansInUI=
ascan.api.action.setOptionMaxScansInUI.param.Integer=
ascan.api.action.setOptionPromptInAttackMode=
ascan.api.action.setOptionPromptInAttackMode.param.Boolean=
ascan.api.action.setOptionPromptToClearFinishedScans=
ascan.api.action.setOptionPromptToClearFinishedScans.param.Boolean=
ascan.api.action.setOptionRescanInAttackMode=
ascan.api.action.setOptionRescanInAttackMode.param.Boolean=
ascan.api.action.setOptionScanNullJsonValues = Sets whether or not the active scanner should scan null JSON values.
ascan.api.action.setOptionScanNullJsonValues.param.Boolean = true to scan null values, false otherwise.
ascan.api.action.setOptionShowAdvancedDialog=
ascan.api.action.setOptionShowAdvancedDialog.param.Boolean=
ascan.api.action.setOptionTargetParamsEnabledRPC=
ascan.api.action.setOptionTargetParamsEnabledRPC.param.Integer=
ascan.api.action.setOptionTargetParamsInjectable=
ascan.api.action.setOptionTargetParamsInjectable.param.Integer=
ascan.api.action.setOptionThreadPerHost=
ascan.api.action.setOptionThreadPerHost.param.Integer=
ascan.api.action.setPolicyAlertThreshold=
ascan.api.action.setPolicyAlertThreshold.param.id=
ascan.api.action.setPolicyAlertThreshold.param.alertThreshold=
ascan.api.action.setPolicyAlertThreshold.param.scanPolicyName=
ascan.api.action.setPolicyAttackStrength=
ascan.api.action.setPolicyAttackStrength.param.id=
ascan.api.action.setPolicyAttackStrength.param.attackStrength=
ascan.api.action.setPolicyAttackStrength.param.scanPolicyName=
ascan.api.action.setScannerAlertThreshold=
ascan.api.action.setScannerAlertThreshold.param.id=
ascan.api.action.setScannerAlertThreshold.param.alertThreshold=
ascan.api.action.setScannerAlertThreshold.param.scanPolicyName=
ascan.api.action.setScannerAttackStrength=
ascan.api.action.setScannerAttackStrength.param.id=
ascan.api.action.setScannerAttackStrength.param.attackStrength=
ascan.api.action.setScannerAttackStrength.param.scanPolicyName=
ascan.api.action.stop=
ascan.api.action.stop.param.scanId=
ascan.api.action.stopAllScans=
ascan.api.action.importScanPolicy = \u7528\u7ed9\u5b9a\u7684\u6587\u4ef6\u7cfb\u7edf\u8def\u5f84\u5bfc\u5165\u4e00\u4e2a\u626b\u63cf\u7b56\u7565
ascan.api.action.importScanPolicy.param.path=
ascan.api.action.skipScanner = Skips the scanner using the given IDs of the scan and the scanner.
ascan.api.action.skipScanner.param.scanId=
ascan.api.action.skipScanner.param.scannerId=
ascan.api.action.updateScanPolicy=
ascan.api.action.updateScanPolicy.param.scanPolicyName=
ascan.api.action.updateScanPolicy.param.alertThreshold=
ascan.api.action.updateScanPolicy.param.attackStrength=
ascan.api.desc=
ascan.api.view.alertsIds = Gets the IDs of the alerts raised during the scan with the given ID. An alert can be obtained with 'alert' core view.
ascan.api.view.alertsIds.param.scanId=
ascan.api.view.attackModeQueue=
ascan.api.view.excludedParams = \u83b7\u53d6\u6240\u6709\u88ab\u6392\u9664\u7684\u53c2\u6570\u3002\u5bf9\u6bcf\u4e2a\u53c2\u6570\u663e\u793a\u4e0b\u5217\u9879\uff1a\u540d\u79f0\u3001URL\u548c\u53c2\u6570\u7c7b\u578b\u3002
ascan.api.view.excludedParamTypes = \u83b7\u53d6\u88ab\u6392\u9664\u7684\u53c2\u6570\u7684\u5168\u90e8\u7c7b\u578b\u3002\u5bf9\u6bcf\u4e2a\u7c7b\u578b\u663e\u793a\u4e0b\u5217\u9879\uff1aID\u548c\u540d\u79f0\u3002
ascan.api.view.messagesIds = Gets the IDs of the messages sent during the scan with the given ID. A message can be obtained with 'message' core view.
ascan.api.view.messagesIds.param.scanId=
ascan.api.view.optionAddQueryParam = Tells whether or not the active scanner should add a query parameter to GET request that don't have parameters to start with.
ascan.api.view.optionAllowAttackOnStart=
ascan.api.view.optionAttackPolicy=
ascan.api.view.optionDefaultPolicy=
ascan.api.view.optionDelayInMs=
ascan.api.view.optionExcludedParamList = \u7528\u5df2\u6392\u9664\u53c2\u6570\u89c6\u56fe\u4ee3\u66ff
ascan.api.view.optionHandleAntiCSRFTokens=
ascan.api.view.optionHostPerScan=
ascan.api.view.optionInjectPluginIdInHeader = Tells whether or not the active scanner should inject the HTTP request header X-ZAP-Scan-ID, with the ID of the scanner that's sending the requests.
ascan.api.view.optionMaxChartTimeInMins=
ascan.api.view.optionMaxResultsToList=
ascan.api.view.optionMaxRuleDurationInMins=
ascan.api.view.optionMaxScanDurationInMins=
ascan.api.view.optionMaxScansInUI=
ascan.api.view.optionPromptInAttackMode=
ascan.api.view.optionPromptToClearFinishedScans=
ascan.api.view.optionRescanInAttackMode=
ascan.api.view.optionScanHeadersAllRequests = Tells whether or not the HTTP Headers of all requests should be scanned. Not just requests that send parameters, through the query or request body.
ascan.api.view.optionScanNullJsonValues = Tells whether or not the active scanner should scan null JSON values.
ascan.api.view.optionShowAdvancedDialog=
ascan.api.view.optionTargetParamsEnabledRPC=
ascan.api.view.optionTargetParamsInjectable=
ascan.api.view.optionThreadPerHost=
ascan.api.view.policies=
ascan.api.view.policies.param.scanPolicyName=
ascan.api.view.policies.param.policyId=
ascan.api.view.excludedFromScan = \u6e05\u9664\u4e3b\u52a8\u626b\u63cf\u4e2d\u6392\u9664\u7684URL\u6b63\u5219
ascan.api.view.scanPolicyNames=
ascan.api.view.scanProgress=
ascan.api.view.scanProgress.param.scanId=
ascan.api.view.scanners = Gets the scanners, optionally, of the given scan policy and/or scanner policy/category ID.
ascan.api.view.scanners.param.scanPolicyName=
ascan.api.view.scanners.param.policyId=
ascan.api.view.scans=
ascan.api.view.status=
ascan.api.view.status.param.scanId=
ascan.api.action.setOptionScanHeadersAllRequests = Sets whether or not the HTTP Headers of all requests should be scanned. Not just requests that send parameters, through the query or request body.
ascan.api.action.setOptionScanHeadersAllRequests.param.Boolean=
ascan.attack.icon.title		= \u653b\u51fb\u6a21\u5f0f\u961f\u5217
ascan.attack.scan			= \u653b\u51fb\u6a21\u5f0f\u626b\u63cf\u7a0b\u5e8f
ascan.attack.prompt			= \u5f53\u4f5c\u7528\u57df\u6539\u53d8\u65f6\uff0c\u91cd\u65b0\u626b\u63cf\u6240\u6709\u8282\u70b9\u5417\uff1f\n\
\u5982\u679c\u9009\u62e9\u8fd9\u4e2a\u9009\u9879\uff0c\u90a3\u4e48ZAP\u4f1a\u626b\u63cf\u5f53\u524d\u4f5c\u7528\u57df\u5185\u7684\u6240\u6709\u8282\u70b9\uff0c\u5e76\u4e14\u5728\u4f5c\u7528\u57df\u66f4\u6539\u65f6\u4f1a\u91cd\u65b0\u626b\u63cf\u4f5c\u7528\u57df\u5185\u6240\u6709\u7684\u8282\u70b9\u3002
ascan.attack.prompt.no.scope	= \n\
\n\
NOTE\: There is currently nothing in scope.\n\
\n\
Create or enable scope for one or more contexts to take advantage of {0}.\n\

ascan.custom.button.pt.add	= \u589e\u52a0
ascan.custom.button.pt.rem	= \u5220\u9664
ascan.custom.button.reset	= \u91cd\u7f6e
ascan.custom.button.scan	= \u5f00\u59cb\u626b\u63cf
ascan.custom.label.adv		= \u663e\u793a\u9ad8\u7ea7\u9009\u9879
ascan.custom.label.context	= \u5185\u5bb9\uff1a
ascan.custom.label.disableiv = \u7981\u7528\u975e\u81ea\u5b9a\u4e49\u7684\u8f93\u5165\u5411\u91cf
ascan.custom.label.inscope	= Just In Scope\:
ascan.custom.label.recurse	= \u9012\u5f52\:
ascan.custom.label.policy	= \u653f\u7b56\uff1a
ascan.custom.label.start	= \u8d77\u59cb\u70b9\uff1a
ascan.custom.label.user		= \u7528\u6237\uff1a
ascan.custom.label.vectors	= \u5411\u91cf\uff1a
ascan.custom.popup			= \u4e3b\u52a8\u626b\u63cf...
ascan.custom.tab.tech		= \u6280\u672f
ascan.custom.tab.tech.node	= \u6280\u672f
ascan.custom.title			= \u4e3b\u52a8\u626b\u63cf
ascan.custom.tab.custom		= \u81ea\u5b9a\u4e49\u5411\u91cf
ascan.custom.tab.input		= \u8f93\u5165\u5411\u91cf
ascan.custom.tab.policy		= \u653f\u7b56
ascan.custom.tab.scope		= \u8303\u56f4
ascan.custom.tab.filter     = \u8fc7\u6ee4
ascan.custom.tab.sequence	= \u5e8f\u5217
ascan.custom.tooltip.policy = \u4f7f\u7528\u201c\u7b56\u7565\u201d\u9009\u9879\u5361\uff0c\u5728\u201c\u9ad8\u7ea7\u201d\u6a21\u5f0f\u4e2d\u66f4\u6539\u7b56\u7565
ascan.custom.notSafe.error = \u4e3b\u52a8\u626b\u63cf\u4e0d\u5141\u8bb8\u5728\u201c\u5b89\u5168\u201d\u6a21\u5f0f\u4f7f\u7528
ascan.custom.nostart.error	= \u4f60\u5fc5\u987b\u9009\u62e9\u4e00\u4e2a\u8d77\u70b9
ascan.custom.status.recurse = Custom Vectors can only be set if the Recurse option is unset.
ascan.custom.status.highlight = \u9ad8\u4eae\u663e\u793a\u4f60\u60f3\u8981\u6dfb\u52a0\u6216\u5220\u9664\u7684\u5b57\u7b26\uff0c\u5e76\u70b9\u51fb\u5bf9\u5e94\u7684\u6309\u94ae\u3002
ascan.custom.targetNotInScope.error = The following target is not allowed in ''Protected'' mode\:\n\
{0}
ascan.custom.warn.disabled	= \u8f93\u5165\u5411\u91cf\u88ab\u901a\u8fc7\u81ea\u5b9a\u4e49\u5411\u91cf\u9009\u9879\u5361\u7981\u7528

ascan.desc                     = \u4e3b\u52a8\u626b\u63cf\u5668\uff0c\u4e3b\u8981\u57fa\u4e8e\u539f\u59cb\u7684Paros\u4e3b\u52a8\u626b\u63cf\u5668\uff0c\u4f46\u6dfb\u52a0\u4e86\u989d\u5916\u7684\u6d4b\u8bd5

ascan.options.anticsrf.label   = \u5904\u7406\u53cd\u8de8\u7ad9\u8bf7\u6c42\uff08CSRF\uff09\u4ee4\u724c
ascan.options.apply.label		= \u5e94\u7528
ascan.options.attackOnStart.label = \u5141\u8bb8\u5728\u542f\u52a8\u65f6\u542f\u7528\u653b\u51fb\u6a21\u5f0f\u3002
ascan.options.attackPrompt.label = In Attack Mode prompt to rescan nodes when scope changed.
ascan.options.attackRescan.label = In Attack Mode always rescan nodes when scope changed.
ascan.options.delayInMs.label  = Delay When Scanning (In Milliseconds)\:
ascan.options.go.button			= Go
ascan.options.level.label	   = \u9ed8\u8ba4\u8b66\u62a5\u9608\u503c\uff1a
ascan.options.level.default	   = Default
ascan.options.level.off		   = Off
ascan.options.level.low		   = \u4f4e
ascan.options.level.low.label  = (\u66f4\u591a\u6f5c\u5728\u95ee\u9898\u88ab\u6807\u8bb0)
ascan.options.level.medium	   = \u4e2d\u7b49\u7684
ascan.options.level.medium.label = (\u9ed8\u8ba4\u9608\u503c)
ascan.options.level.high	   = \u9ad8\u7b49\u7684
ascan.options.level.high.label = (\u66f4\u591a\u6f5c\u5728\u95ee\u9898\u88ab\u6807\u8bb0)
ascan.options.maxChart.label	= Max Progress Chart in Mins\:
ascan.options.maxChart.tooltip  = Displaying very large charts may cause memory problems. Set to zero to disable the charting.
ascan.options.maxRes.label	   = Max Results to List\:
ascan.options.maxRes.tooltip   = Displaying a large number of results can significantly increase the time a scan takes.
ascan.options.maxRule.label		= \u6700\u5927\u89c4\u5219\u6301\u7eed\u65f6\u95f4\uff08\u5206\u949f\uff0c0\u4e3a\u65e0\u9650\u5236\uff09\uff1a
ascan.options.maxScan.label		= \u6700\u5927\u626b\u63cf\u6301\u7eed\u65f6\u95f4\uff08\u5206\u949f\uff0c0\u4e3a\u65e0\u9650\u5236\uff09\uff1a
ascan.options.numHosts.label   = \u540c\u65f6\u626b\u63cf\u7684\u4e3b\u673a\u6570\u91cf\uff1a
ascan.options.numThreads.label = \u6bcf\u4e2a\u4e3b\u673a\u5e76\u884c\u626b\u63cf\u7684\u7ebf\u7a0b\u6570\u91cf\uff1a
ascan.options.rules.label		= \u89c4\u5219
ascan.options.pluginHeader.label	= Inject plugin ID in header for all active scan requests.
ascan.options.policy.ascan.label	= \u9ed8\u8ba4\u4e3b\u52a8\u626b\u63cf\u7b56\u7565\uff1a
ascan.options.policy.attack.label	= \u653b\u51fb\u6a21\u5f0f\u626b\u63cf\u7b56\u7565\uff1a
ascan.options.strength.label   = \u9ed8\u8ba4\u653b\u51fb\u5f3a\u5ea6\uff1a
ascan.options.strength.default = \u9ed8\u8ba4
ascan.options.strength.off	   = Off
ascan.options.strength.low	   = \u4f4e
ascan.options.strength.low.label  = \uff08\u66f4\u5c11\u7684\u653b\u51fb\u884c\u4e3a\uff09
ascan.options.strength.medium   = \u4e2d\u7b49\u7684
ascan.options.strength.medium.label = (\u9ed8\u8ba4\u7684\u653b\u51fb\u884c\u4e3a)
ascan.options.strength.high	   = \u9ad8\u7b49\u7684
ascan.options.strength.high.label = (\u66f4\u591a\u7684\u653b\u51fb\u884c\u4e3a)
ascan.options.strength.insane   = \u75af\u72c2\u7684
ascan.options.strength.insane.label = \u66f4\u591a\u7684\u653b\u51fb
ascan.options.strengthTo.label		= \u5f3a\u5ea6
ascan.options.thresholdTo.label		= Threshold To

scan.filter.filtercriteria.include = Message should include one of the following {0} values\: {1} 
scan.filter.filtercriteria.exclude = Message should not include the following {0} value\: {1}  
scan.filter.filterType.Tag = \u6807\u7b7e
scan.filter.filterType.HttpMethod = HTTP \u65b9\u6cd5
scan.filter.filterType.HttpStatusCode = HTTP \u72b6\u6001\u7801
scan.filter.filterType.URLPattern = URL \u6837\u5f0f

scan.filter.button.clear            = \u6e05\u9664
scan.filter.badregex.warning		   = \u4e0d\u5408\u6cd5\u7684\u6b63\u5219\u8868\u8fbe\u5f0f\uff1a{0}
scan.filter.label.codes             = \u7f16\u7801
scan.filter.label.desc              = Select the required filters below. You can select multiple rows in each element. Only the messages that match the selections will be scanned.
scan.filter.label.methods           = \u65b9\u6cd5
scan.filter.label.urlexcregex	   = URL Exc Regex\: 
scan.filter.label.urlincregex	   = URL Inc Regex\:
scan.filter.label.incTags = \u5305\u542b\u6807\u7b7e\uff1a
scan.filter.label.excTags = \u6392\u9664\u6807\u7b7e\uff1a


# Prob need to move ;)
ascan.policymgr.button.add		= \u6dfb\u52a0
ascan.policymgr.button.import	= \u5bfc\u5165
ascan.policymgr.button.modify	= \u4fee\u6539
ascan.policymgr.button.remove	= \u5220\u9664
ascan.policymgr.button.export	= \u5bfc\u51fa
ascan.policymgr.default.name	= \u9ed8\u8ba4\u7b56\u7565
ascan.policymgr.table.policy	= \u7b56\u7565\u540d\u79f0
ascan.policymgr.title			= \u626b\u63cf\u7b56\u7565\u7ba1\u7406\u5668
ascan.policymgr.warn.delete		= \u60a8\u786e\u5b9a\u8981\u5220\u9664\u6b64\u7b56\u7565\u5417\uff1f

ascan.options.title            = \u4e3b\u52a8\u626b\u63cf
ascan.panel.mnemonic           = a
ascan.panel.title              = \u4e3b\u52a8\u626b\u63cf
ascan.policy.button.disableall = \u7981\u6b62\u6240\u6709
ascan.policy.button.enableall  = \u542f\u7528\u6240\u6709
ascan.policy.button.load	   = \u52a0\u8f7d\u7b56\u7565
ascan.policy.button.save	   = \u4fdd\u5b58\u7b56\u7565
ascan.policy.button.saveas     = \u5c06\u7b56\u7565\u53e6\u5b58\u4e3a....
ascan.policy.dialog.footer     = Thresholds and strengths can be changed by clicking on them
ascan.policy.dialog.title      = \u626b\u63cf\u7b56\u7565
ascan.policy.level.default		= \u9ed8\u8ba4
ascan.policy.level.high			= \u9ad8\u7b49\u7684
ascan.policy.level.insane		= \u75af\u72c2\u7684
ascan.policy.level.low			= \u4f4e
ascan.policy.level.medium		= \u4e2d\u7b49\u7684
ascan.policy.level.off			= \u5173\u95ed
ascan.policy.load.error			= \u52a0\u8f7d\u7b56\u7565\u6587\u4ef6\u5931\u8d25\uff0c\u8bf7\u53c2\u9605\u65e5\u5fd7\u4ee5\u4e86\u89e3\u8be6\u7ec6\u4fe1\u606f
ascan.policy.save.error			= \u52a0\u8f7d\u7b56\u7565\u6587\u4ef6\u5931\u8d25\uff0c\u8bf7\u53c2\u9605\u65e5\u5fd7\u4ee5\u4e86\u89e3\u8be6\u7ec6\u4fe1\u606f
ascan.policy.name.default		= \u9ed8\u8ba4\u7b56\u7565
ascan.policy.name.label			= \u7b56\u7565\uff1a
ascan.policy.namedialog.name.label = \u65b0\u7b56\u7565\u540d\u79f0\uff1a
ascan.policy.namedialog.title	= \u5c06\u7b56\u7565\u53e6\u5b58\u4e3a
ascan.policy.table.category    = \u7c7b\u522b
ascan.policy.table.enabled     = \u6d3b\u52a8
ascan.policy.table.threshold   = \u9608\u503c
ascan.policy.table.strength    = \u5f3a\u5ea6
ascan.policy.table.testname    = \u5b9e\u9a8c\u540d\u79f0
ascan.policy.table.quality     = \u8d28\u91cf
ascan.policy.table.quality.all			= \u6240\u6709
ascan.policy.title             = \u626b\u63cf\u7b56\u7565
ascan.policy.unfulfilled.dependencies = \u626b\u63cf\u5668\u65e0\u6cd5\u542f\u7528\u56e0\u4e3a\u7f3a\u5c11\u4f9d\u8d56
ascan.policy.warn.badname		= \u7b56\u7565\u540d\u79f0\u4e0d\u80fd\u5305\u542b\u4efb\u4f55\u5b57\u7b26\uff1a{0}
ascan.policy.warn.exists		= \u6b64\u540d\u79f0\u7b56\u7565\u5df2\u5b58\u5728
ascan.policy.warn.noname		= \u60a8\u5fc5\u987b\u63d0\u4f9b\u4e00\u4e2a\u7b56\u7565\u540d\u79f0
ascan.scope.popup              = Active Scan all in Scope
ascan.site.popup               = Active Scan Site
ascan.subtree.popup            = Active Scan Subtree
ascan.toolbar.ascans.label     = \u5f53\u524d\u626b\u63cf\:
ascan.toolbar.button.clear     = \u6e05\u9664\u5df2\u5b8c\u6210\u7684\u626b\u63cf
ascan.toolbar.button.options   = \u4e3b\u52a8\u626b\u63cf\u9009\u9879
ascan.toolbar.button.pause     = \u6682\u505c\u4e3b\u52a8\u626b\u63cf
ascan.toolbar.button.new	   = \u65b0\u626b\u63cf
ascan.toolbar.button.stop      = \u505c\u6b62\u4e3b\u52a8\u626b\u63cf
ascan.toolbar.button.unpause   = \u7ee7\u7eed\u4e3b\u52a8\u626b\u63cf
ascan.toolbar.confirm.clear    = \u60a8\u786e\u5b9a\u8981\u6e05\u9664\u6240\u6709\u5df2\u5b8c\u6210\u7684\u626b\u63cf\u5417\uff1f
ascan.toolbar.newalerts.label  = New Alerts\:
ascan.toolbar.requests.label   = Num Requests\:
ascan.toolbar.progress.label   = \u8fdb\u5c55\uff1a
ascan.toolbar.progress.select  = --\u9009\u62e9\u626b\u63cf--
ascan.url.popup                = \u4e3b\u52a8\u626b\u63cf\u5355\u4e2aURL
ascan.panel.tab.scannedMessages   = \u5df2\u53d1\u9001\u7684\u6d88\u606f
ascan.panel.tab.filteredMessages  = \u88ab\u8fc7\u6ee4\u7684\u6d88\u606f\t
ascan.filter.table.header.url  = URL\t
ascan.filter.table.header.reason = \u7406\u7531

ascan.toolbar.button.progress   = \u663e\u793a\u626b\u63cf\u8fdb\u5ea6\u8be6\u7ec6\u4fe1\u606f
ascan.progress.chart.time		= \u65f6\u95f4
ascan.progress.chart.responses	= \u54cd\u5e94/\u79d2
ascan.progress.chart.1xx		= 1xx
ascan.progress.chart.2xx		= 2xx
ascan.progress.chart.3xx		= 3xx
ascan.progress.chart.4xx		= 4xx
ascan.progress.chart.5xx		= 5xx
ascan.progress.copyclipboard.button.label = \u590d\u5236\u5230\u526a\u8d34\u677f
ascan.progress.copyclipboard.button.tooltip = \u5c06\u8868\u7684\u5185\u5bb9\u590d\u5236\u5230\u526a\u8d34\u677f
ascan.progress.copyclipboard.error = \u65e0\u6cd5\u5c06\u5185\u5bb9\u590d\u5236\u5230\u526a\u8d34\u677f\u3002
ascan.progress.label.completed  = \u5b8c\u6210
ascan.progress.label.host		= \u4e3b\u673a\:
ascan.progress.label.pending    = \u7b49\u5f85\u4e2d
ascan.progress.label.running    = \u8fd0\u884c\n\

ascan.progress.label.skipped    = \u8df3\u8fc7
ascan.progress.label.skippedWithReason = \u8df3\u8fc7\uff0c{0}
ascan.progress.label.skipped.reason.dependency = \u5df2\u8df3\u8fc7\u4f9d\u8d56
ascan.progress.label.skipped.reason.user = \u6309\u7528\u6237\u64cd\u4f5c
ascan.progress.label.skipped.reason.techs = \u626b\u63cf\u4eea\u4e0d\u9488\u5bf9\u9009\u5b9a\u7684\u6280\u672f
ascan.progress.label.skipped.reason.maxRule = \u8d85\u8fc7\u6700\u5927\u89c4\u5b9a\u65f6\u95f4
ascan.progress.label.skipped.reason.maxScan = \u8d85\u8fc7\u6700\u5927\u626b\u63cf\u65f6\u95f4
ascan.progress.label.skipped.reason.nonodes = \u6ca1\u6709\u53ef\u626b\u63cf\u7684\u8282\u70b9
ascan.progress.label.skipped.reason.noinputvectors = \u6ca1\u6709\u542f\u7528\u7684\u8f93\u5165\u5411\u91cf
ascan.progress.label.totals		= \u603b\u8ba1
ascan.progress.label.skipaction	= \u8df3\u8fc7\u4e3b\u52a8\u626b\u63cf
ascan.progress.tab.chart		= Response Chart
ascan.progress.tab.progress		= \u8fdb\u5c55
ascan.progress.table.analyser = \u5206\u6790\u4eea
ascan.progress.table.name		= Plugin
ascan.progress.table.progress	= \u8fdb\u5c55
ascan.progress.table.time		= Elapsed
ascan.progress.table.reqs		= Reqs
ascan.progress.table.alerts = \u8b66\u62a5
ascan.progress.table.status		= \u72b6\u6001
ascan.progress.title            = {0} \u626b\u63cf\u8fdb\u5ea6
ascan.scripts.activescanner.title	= Script Active Scan Rules
ascan.scripts.interface.active.error = The provided Active Rules script ({0}) does not implement the required interface.\n\
Please refer to the provided templates for examples.
ascan.scripts.skip.reason = \u672a\u542f\u7528\u4efb\u4f55\u811a\u672c
ascan.scripts.type.active		= \u6d3b\u8dc3\u89c4\u5219
ascan.scripts.type.active.desc	= Active Rules scripts run when you run the Active Scanner.\n\
\n\
\n\
You must enable them before they will be used.\n\
\n\


variant.options.title = Active Scan Input Vectors
variant.options.injectable.label             = Injectable Targets\:
variant.options.injectable.querystring.label = URL Query String & Data Driven Nodes
variant.options.injectable.addqueryparam.label = \u6dfb\u52a0 URL \u67e5\u8be2\u53c2\u6570\u5417\uff1f
variant.options.injectable.addqueryparam.toolTip = <html>Causes ZAP to add a parameter to GET requests that don't have one.<br>This may increase scan time, however, it may also reveal issues that would otherwise go un-noticed.</html>
variant.options.injectable.postdata.label    = POST \u6570\u636e
variant.options.injectable.headers.label     = HTTP Headers (\u53ef\u80fd\u51cf\u6162\u6d4b\u8bd5\u901f\u5ea6)
variant.options.injectable.headersAllRequests.label = \u6240\u6709\u8bf7\u6c42
variant.options.injectable.headersAllRequests.toolTip = <html>Allows to scan the HTTP Headers of all requests.<br>Not just requests that send parameters, through the query or request body.</html>
variant.options.injectable.cookie.label      = Cookie\u6570\u636e\uff08\u53ef\u80fd\u62d6\u6162\u6d4b\u8bd5\u901f\u5ea6\uff09
variant.options.injectable.urlpath.label     = URL\u8def\u5f84\uff08\u53ef\u80fd\u62d6\u6162\u6d4b\u8bd5\u901f\u5ea6\uff09

variant.options.rpc.label           = Built-in Input Vector Handlers\:
variant.options.rpc.multipart.label = Multipart Form-Data
variant.options.rpc.xml.label       = XML\u6807\u8bb0/\u5c5e\u6027
variant.options.rpc.json.label      = JSON
variant.options.rpc.json.nulls.label = Scan Null Values
variant.options.rpc.gwt.label       = \u8c37\u6b4c\u7f51\u7edc\u5de5\u5177\u5305
variant.options.rpc.odata.label     = OData ID/Filter
variant.options.rpc.dwr.label       = Direct Web Remoting

variant.options.rpc.custom.label    = Enable Script Input Vectors
variant.scripts.interface.variant.error = The provided Script Input Vector script ({0}) does not implement the required interface.\n\
Please refer to the provided templates for examples.
variant.scripts.type.variant        = Input Vector
variant.scripts.type.variant.desc   = Input Vector scripts run when you run the Active Scanner. They can also modify how nodes are represented in the Sites tree\n\
\n\
\n\
You must enable them before they will be used.\n\
\n\


variant.param.type.all   = \u4efb\u4f55
variant.param.type.query = \u67e5\u8be2\u5b57\u7b26\u4e32
variant.param.type.postdata = PostData
variant.param.type.path = \u7edf\u4e00\u8d44\u6e90\u5b9a\u4f4d\u5668\u8def\u5f84
variant.param.type.header = Header
variant.param.type.cookie = Cookie
variant.param.type.json = JSON
variant.param.type.graphql.inline = GraphQL Inline Arguments
variant.param.type.multipart.contenttype = Content-Type (Multipart Form-Data)
variant.param.type.multipart.dataparam =  Parameter (non-file) (Multipart Form-Data)
variant.param.type.multipart.filename = File Name (Multipart Form-Data)
variant.param.type.multipart.fileparam = File Content (Multipart Form-Data)

variant.options.excludedparam.label.tokens = <html><body><p>Parameters shown here will be ignored by the Scanner, if both the wildcarded URL and the specified location match.</p></body></html>
variant.options.excludedparam.table.header.url = \u7edf\u4e00\u8d44\u6e90\u5b9a\u4f4d\u5668
variant.options.excludedparam.table.header.type = Where
variant.options.excludedparam.table.header.name = \u540d\u79f0
variant.options.excludedparam.dialog.token.remove.title = \u5220\u9664\u9700\u8981\u6392\u9664\u7684\u53c2\u6570
variant.options.excludedparam.dialog.token.remove.text = \u60a8\u786e\u5b9a\u8981\u5220\u9664\u9009\u5b9a\u7684\u53c2\u6570\u5417\uff1f
variant.options.excludedparam.dialog.token.remove.button.confirm = \u5220\u9664
variant.options.excludedparam.dialog.token.remove.button.cancel = \u53d6\u6d88
variant.options.excludedparam.dialog.token.remove.checkbox.label = \u4e0d\u8981\u518d\u663e\u793a\u6b64\u6d88\u606f
variant.options.excludedparam.dialog.token.add.title = Add a parameter that needs to be excluded
variant.options.excludedparam.dialog.token.add.button.confirm = \u6dfb\u52a0
variant.options.excludedparam.dialog.token.warning.name.repeated.title = \u590d\u5236\u6392\u9664\u7684\u53c2\u6570
variant.options.excludedparam.dialog.token.warning.name.repeated.text = An Excluded Parameter with the same name already exists.
variant.options.excludedparam.dialog.token.warning.invalid.regex.title = \u65e0\u6548\u7684\u6b63\u5219\u8868\u8fbe\u5f0f
variant.options.excludedparam.dialog.token.warning.invalid.regex.field.name = The provided regular expression for name is invalid.
variant.options.excludedparam.dialog.token.modify.title = \u4fee\u6539\u73b0\u6709\u7684\u6392\u9664\u53c2\u6570
variant.options.excludedparam.dialog.token.modify.button.confirm = \u4fee\u6539

attack.site.popup = \u653b\u51fb

authentication.api.action.setAuthenticationMethod = Sets the authentication method for the context with the given ID.
authentication.api.action.setAuthenticationMethod.param.contextId=
authentication.api.action.setAuthenticationMethod.param.authMethodName=
authentication.api.action.setAuthenticationMethod.param.authMethodConfigParams=
authentication.api.action.setLoggedInIndicator = Sets the logged in indicator for the context with the given ID.
authentication.api.action.setLoggedInIndicator.param.contextId=
authentication.api.action.setLoggedInIndicator.param.loggedInIndicatorRegex=
authentication.api.action.setLoggedOutIndicator = Sets the logged out indicator for the context with the given ID.
authentication.api.action.setLoggedOutIndicator.param.contextId=
authentication.api.action.setLoggedOutIndicator.param.loggedOutIndicatorRegex=
authentication.api.desc=
authentication.api.view.getAuthenticationMethod = Gets the name of the authentication method for the context with the given ID.
authentication.api.view.getAuthenticationMethod.param.contextId=
authentication.api.view.getAuthenticationMethodConfigParams = Gets the configuration parameters for the authentication method with the given name.
authentication.api.view.getAuthenticationMethodConfigParams.param.authMethodName=
authentication.api.view.getLoggedInIndicator = Gets the logged in indicator for the context with the given ID.
authentication.api.view.getLoggedInIndicator.param.contextId=
authentication.api.view.getLoggedOutIndicator = Gets the logged out indicator for the context with the given ID.
authentication.api.view.getLoggedOutIndicator.param.contextId=
authentication.api.view.getSupportedAuthenticationMethods = Gets the name of the authentication methods.
authentication.name = \u8eab\u4efd\u9a8c\u8bc1\u6269\u5c55
authentication.panel.title					= \u8eab\u4efd\u9a8c\u8bc1
authentication.panel.label.description 		= <html><p>This panel allows you to configure the authentication scheme used for this Context.<p><html>
authentication.panel.label.typeSelect 		= Currently selected Authentication method for the Context\: 
authentication.panel.label.noConfigPanel 	= <html><i>\u6b64\u65b9\u6cd5\u662f\u5b8c\u5168\u914d\u7f6e\u597d\u7684\uff0c\u4e0d\u9700\u8981\u4efb\u4f55\u989d\u5916\u914d\u7f6e\u3002<i></html>
authentication.panel.label.loggedIn 		= Regex pattern used to identify Logged In messages\:
authentication.panel.label.loggedOut 		= Regex pattern used to identify Logged Out messages\:
authentication.panel.error.illegalPattern	= One of the patterns you have defined for context {0} is not valid.
authentication.popup.indicator.loggedIn 	= {0} \: Authentication Logged-in indicator
authentication.popup.indicator.loggedOut 	= {0} \: Authentication Logged-out indicator
authentication.panel.label.configTitle		= \u914d\u7f6e\u8eab\u4efd\u9a8c\u8bc1\u65b9\u6cd5
authentication.panel.label.verifTitle		= Configure Authentication Verification
authentication.panel.label.strategy         = Verification Strategy\:
authentication.panel.label.strategy.each_req = Check every Request
authentication.panel.label.strategy.each_resp = Check every Response
authentication.panel.label.strategy.each_req_resp = Check every Request or Response
authentication.panel.label.strategy.poll_url = Poll the Specified URL
authentication.panel.label.freq				= Poll Frequency\:
authentication.panel.label.units.requests   = Requests
authentication.panel.label.units.seconds    = Seconds
authentication.panel.label.pollurl          = URL to Poll for Verification\:
authentication.panel.error.nopollurl        = The URL to Poll must be specified for context {0}
authentication.panel.error.badpollurl       = The URL to Poll for context {0} is invalid
authentication.panel.error.badpollheaders	= The Poll Headers for context {0} are invalid, they should be one per line with the header and value separated by a colon
authentication.panel.label.polldata         = Poll Request POST Data (if any)\:
authentication.panel.label.pollheaders      = Additional Poll Request Headers\:
authentication.dialog.confirmChange.label	= Changing the Authentication Method will reset the Users' credentials defined for this Context. Are you sure?
authentication.dialog.confirmChange.title	= \u66f4\u6539\u8eab\u4efd\u9a8c\u8bc1\u65b9\u6cd5
authentication.output.indicatorsNotSet		= No indicators have been set for identifying authentication. Assuming response is authenticated for {0}.
authentication.output.failure				= Authentication failure\: {0}
authentication.output.success 				= \u8eab\u4efd\u9a8c\u8bc1\u6210\u529f\u3002
authentication.method.manual.name 							= \u624b\u52a8\u8eab\u4efd\u9a8c\u8bc1
authentication.method.manual.field.session 					= \u73b0\u6709\u7684HTTP\u4f1a\u8bdd\uff1a
authentication.method.manual.field.description				= <html><p><small>* If the HTTP sessions that you are interested in are not present in the selection box, <br/>make sure you have included the <i>Site</i> to which the HTTP sessions correspond<br/> in the proper <b>Context</b>.<br/>The HTTP Session is optional as you may manage the session in another way.</small></p><html>
authentication.method.fb.name								= Form-based Authentication
authentication.method.fb.popup.login.request = {0} \: Form-based Auth Login Request
authentication.method.jb.name = JSON-based Authentication
authentication.method.jb.popup.login.request = {0} \: JSON-based Auth Login Request
authentication.method.pb.field.label.postData				= Login Request POST Data (if any)\:
authentication.method.pb.field.label.postDataRequired = Login Request POST Data *\:
authentication.method.pb.field.label.loginPageUrl			= URL to GET Login Page\:
authentication.method.pb.field.label.loginUrl				= Login Form Target URL *\:
authentication.method.pb.field.label.usernameParam			= Username Parameter *\:
authentication.method.pb.field.label.passwordParam			= Password Parameter *\:
authentication.method.pb.field.label.description			= <html><small>The <i>username</i> and <i>password</i> fields will be replaced, during authentication, with the username and password corresponding to application's users.</small><html>
authentication.method.pb.dialog.error.url.text = The login url you have inserted is not a valid URL.
authentication.method.pb.dialog.error.postData.text = The POST Data is required.
authentication.method.fb.credentials.field.label.user		= \u7528\u6237\u540d
authentication.method.fb.credentials.field.label.pass		= \u5bc6\u7801
authentication.method.fb.dialog.error.nofields.text 		= \u5728\u8fd9\u79cd\u8eab\u4efd\u9a8c\u8bc1\u65b9\u6cd5\u4e2d\uff0c\u5fc5\u987b\u914d\u7f6e\u7528\u6237\u540d\u548c\u5bc6\u7801\u8868\u5355\u7684\u5b57\u6bb5\u540d\u3002
authentication.method.fb.credentials.dialog.error.user.text	= \u5fc5\u987b\u4e3a\u5f53\u524d\u7528\u6237\u8bbe\u7f6e\u7528\u6237\u540d\u3002
authentication.method.fb.dialog.error.title 				= \u914d\u7f6e\u9519\u8bef
authentication.method.http.name								= HTTP/NTLM\u8eab\u4efd\u9a8c\u8bc1
authentication.method.http.field.label.hostname				= \u4e3b\u673a\u540d\uff1a
authentication.method.http.field.label.port					= \u7aef\u53e3\uff1a
authentication.method.http.field.label.realm				= Realm\:
authentication.method.http.dialog.error.url.text			= You have inserted an invalid hostname value for the HTTP Authentication.
authentication.method.script.name							= Script-based Authentication
authentication.method.script.type							= \u8eab\u4efd\u9a8c\u8bc1
authentication.method.script.type.desc						= Authentication scripts run when you an authentication is needed.\n\
\n\
The script must be properly configured in the Session Properties -> Authentication panel with a 'Script-based Authentication Method'\n\
\n\

authentication.method.script.field.label.scriptName			= \u811a\u672c\uff1a
authentication.method.script.field.label.notLoaded			= <html><body><p>\u8fd8\u6ca1\u6709\u52a0\u8f7d\u4efb\u4f55\u811a\u672c\u3002\u4ece\u4e0a\u6846\u4e2d\u9009\u62e9\u4e00\u4e2a\u811a\u672c\uff0c\u7136\u540e\u70b9\u51fb\u201cLoad\u201d\u6309\u94ae\u3002</p></body></html>
authentication.method.script.load.errorScriptNotFound		= Failed to find context''s Authentication script\:\n\
{0}
authentication.method.script.dialog.error.title				= Script Loading Error
authentication.method.script.dialog.error.text.interface	= The provided Authentication script ({0}) does not implement the required interface. Please take a look at the provided templates for examples.
authentication.method.script.dialog.error.text.loading		= \u52a0\u8f7d\u6240\u9009\u7684\u8eab\u4efd\u9a8c\u8bc1\u811a\u672c\u65f6\u51fa\u9519\uff1a{0}
authentication.method.script.dialog.error.text.required		= \u4f60\u6ca1\u6709\u8d4b\u503c\u7ed9\u6b64\u5fc5\u586b\u5b57\u6bb5\uff1a{0} 
authentication.method.script.dialog.error.text.notLoaded	= \u4f60\u9700\u8981\u52a0\u8f7d\u4e00\u4e2a\u8eab\u4efd\u9a8c\u8bc1\u811a\u672c\u3002 
authentication.method.script.dialog.error.text.notLoadedNorConfigured = \u4f60\u9700\u8981\u52a0\u8f7d\u548c\u914d\u7f6e\u4e00\u4e2a\u8eab\u4efd\u9a8c\u8bc1\u811a\u672c\u3002
authentication.method.script.dialog.loggedInOutIndicatorsInScript.toolTip = \u5728\u8eab\u4efd\u9a8c\u8bc1\u811a\u672c\u4e2d\u5b9a\u4e49\u3002

authorization.name = Authorization Extension
authorization.panel.title									= \u6388\u6743
authorization.panel.label.description 						= \u6b64\u9762\u677f\u4f9b\u4f60\u914d\u7f6e\u4f60\u7684Web\u5e94\u7528\u7a0b\u5e8f\u5904\u7406\u6388\u6743/\u672a\u6388\u6743\u8bf7\u6c42\u7684\u65b9\u5f0f\u3002
authorization.detection.basic.name 							= Basic Authorization Detection
authorization.detection.basic.field.intro					= \u5f53\u63a5\u6536\u5230\u4e00\u4e2a\u672a\u6388\u6743\u7684\u8bf7\u6c42\u65f6\uff0c\u670d\u52a1\u5668\u4f1a\u8fd4\u56de\u4e00\u4e2a\u7b26\u5408\u4e0b\u5217\u6761\u4ef6\u7684\u54cd\u5e94\uff1a
authorization.detection.basic.field.statusCode 				= HTTP Status Code\:
authorization.detection.basic.field.headerPattern			= Header contains regex\:
authorization.detection.basic.field.bodyPattern				= Body contains regex\:
authorization.detection.basic.field.composition.and			= \u5fc5\u987b\u5339\u914d\u4ee5\u4e0a\u6240\u6709\u6761\u4ef6
authorization.detection.basic.field.composition.or			= \u81f3\u5c11\u5fc5\u987b\u5339\u914d\u4ee5\u4e0a\u6761\u4ef6\u4e4b\u4e00
authorization.detection.basic.error.illegalPattern			= One of the patterns you have defined for context {0} is not valid.
authorization.api.view.getAuthorizationDetectionMethod		= Obtains all the configuration of the authorization detection method that is currently set for a context.
authorization.api.view.getAuthorizationDetectionMethod.param.contextId=
authorization.api.action.setBasicAuthorizationDetectionMethod	= Sets the authorization detection method for a context as one that identifies un-authorized messages based on\: the message's status code or a regex pattern in the response's header or body. Also, whether all conditions must match or just some can be specified via the logicalOperator parameter, which accepts two values\: "AND" (default), "OR".  
authorization.api.action.setBasicAuthorizationDetectionMethod.param.contextId=
authorization.api.action.setBasicAuthorizationDetectionMethod.param.headerRegex=
authorization.api.action.setBasicAuthorizationDetectionMethod.param.bodyRegex=
authorization.api.action.setBasicAuthorizationDetectionMethod.param.statusCode=
authorization.api.action.setBasicAuthorizationDetectionMethod.param.logicalOperator=
authorization.api.desc=

autoupdate.api.action.downloadLatestRelease = \u5982\u679c\u6709\uff0c\u4e0b\u8f7d\u6700\u65b0\u7248\u672c
autoupdate.api.action.installAddon = Installs or updates the specified add-on, returning when complete (i.e. not asynchronously)
autoupdate.api.action.installAddon.param.id=
autoupdate.api.action.installLocalAddon=
autoupdate.api.action.installLocalAddon.param.file=
autoupdate.api.action.setOptionCheckAddonUpdates=
autoupdate.api.action.setOptionCheckAddonUpdates.param.Boolean=
autoupdate.api.action.setOptionCheckOnStart=
autoupdate.api.action.setOptionCheckOnStart.param.Boolean=
autoupdate.api.action.setOptionDownloadNewRelease=
autoupdate.api.action.setOptionDownloadNewRelease.param.Boolean=
autoupdate.api.action.setOptionInstallAddonUpdates=
autoupdate.api.action.setOptionInstallAddonUpdates.param.Boolean=
autoupdate.api.action.setOptionInstallScannerRules=
autoupdate.api.action.setOptionInstallScannerRules.param.Boolean=
autoupdate.api.action.setOptionReportAlphaAddons=
autoupdate.api.action.setOptionReportAlphaAddons.param.Boolean=
autoupdate.api.action.setOptionReportBetaAddons=
autoupdate.api.action.setOptionReportBetaAddons.param.Boolean=
autoupdate.api.action.setOptionReportReleaseAddons=
autoupdate.api.action.setOptionReportReleaseAddons.param.Boolean=
autoupdate.api.action.uninstallAddon = Uninstalls the specified add-on 
autoupdate.api.action.uninstallAddon.param.id=
autoupdate.api.desc=
autoupdate.api.view.latestVersionNumber = \u8fd4\u56de\u6700\u65b0\u7248\u672c\u53f7
autoupdate.api.view.isLatestVersion = Returns 'true' if ZAP is on the latest version
autoupdate.api.view.installedAddons = \u8fd4\u56de\u4e00\u4efd\u5217\u51fa\u6240\u6709\u5df2\u5b89\u88c5\u7684\u9644\u52a0\u7ec4\u4ef6\u7684\u5217\u8868\u3002
autoupdate.api.view.localAddons = Returns a list with all local add-ons, installed or not.
autoupdate.api.view.newAddons = Return a list of any add-ons that have been added to the Marketplace since the last check for updates
autoupdate.api.view.optionAddonDirectories=
autoupdate.api.view.optionCheckAddonUpdates=
autoupdate.api.view.optionCheckOnStart=
autoupdate.api.view.optionDayLastChecked=
autoupdate.api.view.optionDayLastInstallWarned=
autoupdate.api.view.optionDayLastUpdateWarned=
autoupdate.api.view.optionDownloadDirectory=
autoupdate.api.view.optionDownloadNewRelease=
autoupdate.api.view.optionInstallAddonUpdates=
autoupdate.api.view.optionInstallScannerRules=
autoupdate.api.view.optionReportAlphaAddons=
autoupdate.api.view.optionReportBetaAddons=
autoupdate.api.view.optionReportReleaseAddons=
autoupdate.api.view.updatedAddons = Return a list of any add-ons that have been changed in the Marketplace since the last check for updates
autoupdate.api.view.marketplaceAddons = Return a list of all of the add-ons on the ZAP Marketplace (this information is read once and then cached)
autoupdate.desc = \u5141\u8bb8ZAP\u68c0\u67e5\u66f4\u65b0
autoupdate.name = \u81ea\u52a8\u66f4\u65b0\u6269\u5c55

break.api.action.addHttpBreakpoint = Adds a custom HTTP breakpoint. The string is the string to match. Location may be one of\: url, request_header, request_body, response_header or response_body. Match may be\: contains or regex. Inverse (match) may be true or false. Lastly, ignorecase (when matching the string) may be true or false.  
break.api.action.addHttpBreakpoint.param.string=
break.api.action.addHttpBreakpoint.param.location=
break.api.action.addHttpBreakpoint.param.match=
break.api.action.addHttpBreakpoint.param.inverse=
break.api.action.addHttpBreakpoint.param.ignorecase=
break.api.action.break = Controls the global break functionality. The type may be one of\: http-all, http-request or http-response. The state may be true (for turning break on for the specified type) or false (for turning break off). Scope is not currently used.
break.api.action.break.param.type=
break.api.action.break.param.state=
break.api.action.break.param.scope=
break.api.action.continue = Submits the currently intercepted message and unsets the global request/response breakpoints
break.api.action.drop = Drops the currently intercepted message
break.api.action.removeHttpBreakpoint = Removes the specified breakpoint
break.api.action.removeHttpBreakpoint.param.string=
break.api.action.removeHttpBreakpoint.param.location=
break.api.action.removeHttpBreakpoint.param.match=
break.api.action.removeHttpBreakpoint.param.inverse=
break.api.action.removeHttpBreakpoint.param.ignorecase=
break.api.action.setHttpMessage = \u7528\u7ed9\u5b9a\u6570\u636e\u8986\u76d6\u5f53\u524d\u622a\u83b7\u7684\u6d88\u606f
break.api.action.setHttpMessage.param.httpHeader=
break.api.action.setHttpMessage.param.httpBody=
break.api.action.step = \u63d0\u4ea4\u5f53\u524d\u622a\u83b7\u7684\u6d88\u606f\uff0c\u5c06\u4f1a\u81ea\u52a8\u5730\u62e6\u622a\u4e0b\u4e00\u4e2a\u8bf7\u6c42\u6216\u54cd\u5e94
break.api.desc=
break.api.view.httpMessage = \u8fd4\u56de\u5f53\u524d\u622a\u83b7\u7684HTTP\u6d88\u606f\uff08\u5982\u9002\u7528\uff09
break.api.view.isBreakAll = Returns True if ZAP will break on both requests and responses
break.api.view.isBreakRequest = Returns True if ZAP will break on requests
break.api.view.isBreakResponse = Returns True if ZAP will break on responses
break.api.pconn.waitForHttpBreak = Waits until an HTTP breakpoint has been hit, at which point it returns the message. \n\
Poll is the number of milliseconds ZAP will pause between checking for breakpoints being hit (default 500). \n\
If keepalive is zero or less then the response will be returned as a Server Sent Event, otherwise it is used as the frequency in seconds at which \n\
'keepalive' events should be returned and the response is sent as a standard response.
brk.add.button.add                = \u6dfb\u52a0
brk.add.button.cancel             = \u53d6\u6d88
brk.add.error.history             = \u9519\u8bef\u8bb0\u5f55
brk.add.popup                     = \u4e2d\u65ad...
brk.add.title                     = Add Breakpoint
brk.alwaysOnTop.message			  = By default ZAP will remain on top of all other windows when a breakpoint is hit.\n\
\n\
Press 'Cancel' to disable this feature.\n\
\n\
This option can changed via Tools/Breakpoints
brk.checkBox.fixLength            = Update Content Length
brk.brkpoint.add.title            = Add Breakpoint
brk.brkpoint.edit.title           = Edit Breakpoint
brk.brkpoint.error.nostr	      = \u60a8\u5fc5\u987b\u63d0\u4f9b\u4e00\u4e2a\u5b57\u7b26\u4e32
brk.brkpoint.error.regex	      = Invalid regular expression
brk.brkpoint.location.label		  = Location\:
brk.brkpoint.location.request_body		= Request Body
brk.brkpoint.location.request_header	= Request Header
brk.brkpoint.location.response_body		= Response Body
brk.brkpoint.location.response_header	= Response Header
brk.brkpoint.location.url 				= \u7edf\u4e00\u8d44\u6e90\u5b9a\u4f4d\u5668
brk.brkpoint.match.contains		  = Contains
brk.brkpoint.match.label		  = Match\:
brk.brkpoint.match.regex		  = Regex
brk.brkpoint.string.label		  = \u5b57\u7b26\u4e32\uff1a
brk.brkpoint.ignorecase.label	  = Ignore Case\:
brk.brkpoint.inverse.label		  = Inverse\:
brk.brkpoint.warn.urlfragment   = Pattern shouldn't include URL fragment (\#)
brk.brkpoint.onscope            = Break if out of scope
brk.edit.button.save              = \u4fdd\u5b58
brk.edit.popup                    = \u7f16\u8f91...
brk.edit.title                    = Edit Breakpoint
brk.desc                          = Allows you to intercept and modify requests and responses
brk.dialogue.confirmDropMessage.title = Confirm Drop Trapped Message
brk.dialogue.confirmDropMessage.option.dontAskAgain = \u4e0d\u8981\u518d\u6b21\u8be2\u95ee
brk.dialogue.confirmDropMessage.message = Are you sure you want to drop the trapped message?
brk.dialogue.confirmDropMessage.button.confirm.label = Drop
brk.dialogue.confirmDropMessage.button.cancel.label = \u53d6\u6d88
brk.name = \u65ad\u70b9\u6269\u5c55
brk.optionspanel.name             = \u65ad\u70b9
brk.optionspanel.option.alwaysOnTop.label	= \u78b0\u5230\u65ad\u70b9\u65f6\uff0cZAP\u603b\u662f\u5728\u6700\u524d\u7aef\u3002
brk.optionspanel.option.breakmode.label	= Break Buttons Mode\:
brk.optionspanel.option.breakmode.dual.label	= Separate Request and Response buttons
brk.optionspanel.option.breakmode.simple.label	= Single combined button
brk.optionspanel.option.confirmDropMessage.label = Confirm drop trapped message
brk.optionspanel.option.inScopeOnly.label = \u4ec5\u5728\u8303\u56f4\u5185\u4e2d\u65ad\u6d88\u606f
brk.optionspanel.option.showBreakFilteringButtons.label = Show buttons to select the requests you don't want ZAP to break on
brk.optionspanel.option.javaScriptUrlRegex.label = Javascript URL regex\:
brk.optionspanel.option.cssAndFontsUrlRegex.label = CSS and Fonts URL regex\:
brk.optionspanel.option.multimediaUrlRegex.label = Multimedia URL regex\:
brk.optionspanel.option.notpossibletoshowtip = Can not show this buttons when break buttons are only in the toolbar
brk.panel.mnemonic    		      = b
brk.panel.title                   = \u65ad\u70b9
brk.panel.warn.datainvalid = Unable to set the data to the message.
brk.remove.popup                  = \u5220\u9664
brk.table.header.condition        = \u72b6\u6001
brk.table.header.enabled          = \u6d3b\u52a8
brk.table.header.type             = \u7c7b\u578b
brk.toolbar.button.all.set		  = \u5bf9\u6240\u6709\u8bf7\u6c42\u548c\u54cd\u5e94\u8bbe\u7f6e\u65ad\u70b9
brk.toolbar.button.all.unset 	  = \u5bf9\u6240\u6709\u8bf7\u6c42\u548c\u54cd\u5e94\u64a4\u9500\u65ad\u70b9
brk.toolbar.button.bin            = Bin
brk.toolbar.button.brkpoint       = Add a custom HTTP breakpoint...
brk.toolbar.button.brkjavascript.set   = Set can break on JavaScript
brk.toolbar.button.brkjavascript.unset = Set ignore breaks on JavaScript files
brk.toolbar.button.brkcssfonts.set   = Set can break on CSS and Fonts
brk.toolbar.button.brkcssfonts.unset = Set ignore breaks on CSS and Fonts
brk.toolbar.button.brkmultimedia.set   = Set can break on Multimedia
brk.toolbar.button.brkmultimedia.unset = Set ignore breaks on Multimedia
brk.toolbar.button.brkOnlyOnScope.set   = Set break only in scope
brk.toolbar.button.brkOnlyOnScope.unset = Unset break only in scope
brk.toolbar.button.cont           = Submit and continue to next breakpoint
brk.toolbar.button.request.set    = \u5bf9\u6240\u6709\u8bf7\u6c42\u8bbe\u7f6e\u65ad\u70b9
brk.toolbar.button.request.unset  = \u64a4\u9500\u6240\u6709\u8bf7\u6c42\u7684\u65ad\u70b9
brk.toolbar.button.response.set   = \u5bf9\u6240\u6709\u54cd\u5e94\u8bbe\u7f6e\u65ad\u70b9
brk.toolbar.button.response.unset = \u5bf9\u6240\u6709\u54cd\u5e94\u64a4\u9500\u65ad\u70b9
brk.toolbar.button.step           = \u6b65\u9aa4

callback.name = \u56de\u8c03\u6269\u5c55
callback.desc							= Provides a URL suitable for calling from target sites
callback.options.title					= \u56de\u8c03\u5730\u5740
callback.options.label.localaddress 	= \u672c\u5730\u5730\u5740\uff08\u5982\uff0c0.0.0.0\uff09\uff1a
callback.options.label.remoteaddress 	= \u8fdc\u7a0b\u5730\u5740\uff1a
callback.options.label.secure 			= \u5b89\u5168\uff1a
callback.options.label.rndport 			= \u968f\u673a\u7aef\u53e3\uff1a
callback.options.label.port 			= \u6307\u5b9a\u7aef\u53e3\uff1a
callback.options.label.testurl 			= \u6d4b\u8bd5\u7edf\u4e00\u8d44\u6e90\u5b9a\u4f4d\u5668\uff1a
callback.test.msg						= Received test callback\: {0} from {1}
callback.panel.name				        = Callbacks
callback.panel.clear.button.label		= Clear
callback.panel.clear.button.toolTip		= Clear Callbacks
callback.panel.options.button.label		= \u9009\u9879
callback.panel.table.column.handler		= Handler
callback.panel.table.column.referer		= Referer
callback.handler.none.name				= No callback handler
callback.handler.test.name				= Test Handler

certificates.pkcs11.drivers.button.add           = \u6dfb\u52a0
certificates.pkcs11.drivers.button.browse        = \u6d4f\u89c8
certificates.pkcs11.drivers.button.close         = \u5173\u95ed
certificates.pkcs11.drivers.button.delete        = \u5220\u9664
certificates.pkcs11.drivers.label.name           = \u540d\u79f0
certificates.pkcs11.drivers.label.path           = \u8def\u5f84 (\u4e3a\u652f\u6301PKCS\#11\u7684DLL\u8def\u5f84 - \u901a\u5e38\u63d0\u4f9b\u667a\u80fd\u5361\u8f6f\u4ef6\u670d\u52a1)
certificates.pkcs11.drivers.label.slot           = \u4f4d\u7f6eSlot
certificates.pkcs11.drivers.label.slotIndex      = Slot Index
certificates.pkcs11.drivers.title                = PKCS\#11\u9a71\u52a8\u5668
certificates.pkcs11.label.experimentalSliSupport = Enable experimental Slot List Index support

cfu.button.addons.browse = Manage Add-ons
cfu.button.addons.download = \u4e0b\u8f7d\u6240\u9009
cfu.button.addons.info = \u66f4\u591a\u4fe1\u606f
cfu.button.addons.install = \u5b89\u88c5\u6240\u9009
cfu.button.addons.installall = Install All
cfu.button.addons.uninstall = \u5378\u8f7d\u6240\u9009
cfu.button.addons.update = \u66f4\u65b0\u6240\u9009
cfu.button.addons.updateAll = \u66f4\u65b0\u6240\u6709
cfu.button.checkForUpdates = \u68c0\u67e5\u66f4\u65b0
cfu.button.zap.download = \u4e0b\u8f7dZAP
cfu.button.zap.options =  \u4e0b\u8f7d\u9009\u9879
cfu.button.zap.relnotes = \u67e5\u770b\u7248\u672c\u8bf4\u660e
cfu.check.checking     = \u68c0\u6d4b\u662f\u5426\u6709\u65b0\u7248\u672c\u66f4\u65b0...
cfu.check.failed       = \u53d1\u751f\u9519\u8bef\u3002\u8bf7\u624b\u52a8\u68c0\u67e5\u6700\u65b0\u7684\u66f4\u65b0\u3002
cfu.check.upd.downloaded   = \u4e0b\u8f7d\u6240\u6709\u66f4\u65b0\uff0c\u8be6\u60c5\u8bf7\u53c2\u89c1\u8f93\u51fa\u9009\u9879\u5361\u3002
cfu.check.upd.downloading  = \u6b63\u5728\u4e0b\u8f7d\u66f4\u65b0\u3002\u60a8\u53ef\u4ee5\u5173\u95ed\u6b64\u5bf9\u8bdd\u6846\uff0c\u4e0b\u8f7d\u5c06\u5728\u540e\u53f0\u8fdb\u884c\u3002
cfu.check.zap.downloaded   = ZAP downloaded to {0}
cfu.check.zap.downloading  = \u4e0b\u8f7dZAP\u3002\u4f60\u53ef\u4ee5\u5173\u95ed\u6b64\u5bf9\u8bdd\u6846\uff0c\u4e0b\u8f7d\u4f1a\u5728\u540e\u53f0\u8fdb\u884c\u3002
cfu.check.zap.latest   = ZAP is up-to-date ({0})
cfu.check.zap.newer    = There is a more recent version of OWASP ZAP\: {0}

cfu.cmdline.addondown		= \u9644\u52a0\u7ec4\u4ef6\u4e0b\u8f7d\u5230\uff1a{0}
cfu.cmdline.addondown.failed = Add-on download failed for\: {0}
cfu.cmdline.addoninst		= \u9644\u52a0\u7ec4\u4ef6\u5df2\u7ecf\u5b89\u88c5\uff1a{0}
cfu.cmdline.addonurl		= Downloading add-on from\: {0}
cfu.cmdline.addoninst.error = It's recommended to restart ZAP. Not all add-ons were successfully installed.
cfu.cmdline.addoninst.uninstalls.required = Not installing add-on(s). The installation would require uninstalling the following add-ons\: {0}
cfu.cmdline.addonuninst.uninstalls.required = Not uninstalling add-on(s). The uninstallation would require uninstalling the following add-ons\: {0}
cfu.cmdline.install.help	= Installs the add-on with specified ID from the ZAP Marketplace
cfu.cmdline.installall.help	= Install all available add-ons from the ZAP Marketplace
cfu.cmdline.list.help		= \u6240\u6709\u5df2\u5b89\u88c5\u7684\u9644\u52a0\u7ec4\u4ef6\u5217\u8868
cfu.cmdline.update.help		= Update all changed add-ons from the ZAP Marketplace
cfu.cmdline.noaddon			= Failed to find Add-on\: {0}
cfu.cmdline.nocfu			= Check for updates call failed
cfu.cmdline.uninstallfail	= Failed to uninstall Add-on {0}
cfu.cmdline.uninstallok		= Uninstalled Add-on {0}
cfu.cmdline.uninstall.help	= Uninstalls the Add-on with specified ID
cfu.cmdline.updated			= \u5b8c\u6210\u9644\u52a0\u7ec4\u4ef6\u7684\u66f4\u65b0\u68c0\u67e5

cfu.confirm.launch     = \u6700\u65b0\u7684ZAP\u7248\u672c\uff1a{0}\u5df2\u4e0b\u8f7d\u5230\n\
{1}\n\
\u8981\u542f\u52a8\u6b64\u6587\u4ef6\u5e76\u5173\u95edZAP\u5417\uff1f
cfu.confirmation.dialogue.message.addOnNewerJavaVersion=\u4e00\u9644\u52a0\u7ec4\u4ef6\u9700\u8981\u8f83\u65b0\u7248\u672c\u7684Java\u3002
cfu.confirmation.dialogue.message.addOnsNewerJavaVersion=\u6240\u9009\u9644\u52a0\u7ec4\u4ef6\u9700\u8981\u8f83\u65b0\u7248\u672c\u7684Java\uff1a
cfu.confirmation.dialogue.message.someAddOnsNewerJavaVersion=\u5176\u4e2d\u4e00\u4e9b\u9644\u52a0\u7ec4\u4ef6\u9700\u8981\u8f83\u65b0\u7248\u672c\u7684Java\u3002
cfu.confirmation.dialogue.message.someUnnamedSelectedAddOnsNewerJavaVersion=\u90e8\u5206\u6240\u9009\u9644\u52a0\u7ec4\u4ef6\u9700\u8981\u8f83\u65b0\u7248\u672c\u7684Java\u3002
cfu.confirmation.dialogue.message.continueWithInstallation=\u8981\u7ee7\u7eed\u5b89\u88c5\u5417\uff1f
cfu.confirmation.dialogue.message.continueWithUninstallation=Continue with uninstallation?
cfu.confirmation.dialogue.message.continueWithUpdate=Continue with update?
cfu.confirmation.dialogue.message.requiredChanges=The following changes are required by the selected add-on(s)\:
cfu.confirmation.dialogue.message.requiredSuggestedChanges=The following changes are required and suggested by the selected add-on(s)\:
cfu.confirmation.dialogue.message.selectedAddOnNewerJavaVersion=The selected add-on requires a newer Java version\: {0}\n\
The add-on will not run until ZAP is run with newer Java version.\n\

cfu.confirmation.dialogue.message.selectedAddOnsNewerJavaVersion=The selected add-ons required a newer Java version.
cfu.confirmation.dialogue.message.someSelectedAddOnsNewerJavaVersion=\u90e8\u5206\u6240\u9009\u9644\u52a0\u7ec4\u4ef6\u9700\u8981\u8f83\u65b0\u7248\u672c\u7684Java\uff1a
cfu.confirmation.dialogue.message.suggestedChanges=The following changes are suggested by the selected or installed add-on(s)\:
cfu.confirmation.dialogue.tab.header.extensionSoftUnloads=Soft Unload Extensions
cfu.confirmation.dialogue.tab.header.extensionUnloads=\u5378\u8f7d\u6269\u5c55
cfu.confirmation.dialogue.tab.header.installations=\u5b89\u88c5
cfu.confirmation.dialogue.tab.header.optionalAddOns=\u53ef\u9009\u9644\u52a0\u7ec4\u4ef6
cfu.confirmation.dialogue.tab.header.selectedAddOns=Selected Add-ons
cfu.confirmation.dialogue.tab.header.softUninstalls=Soft Uninstalls
cfu.confirmation.dialogue.tab.header.uninstallations=\u5378\u8f7d
cfu.confirmation.dialogue.tab.header.updates=Updates
cfu.confirmation.dialogue.message.uninstallsRequiredByAddOnsDownloading=Some of the add-ons that will be uninstalled are required\n\
by add-ons that are being downloaded, which will no longer work.
cfu.confirmation.dialogue.message.warnAddOnsNotRunJavaVersion=The add-ons will not run until ZAP is run with newer Java version.
cfu.confirmation.dialogue.message.warnUnknownNumberAddOnsNotRunJavaVersion=\u5728\u4ee5\u8f83\u65b0\u7248\u672cJava\u8fd0\u884cZAP\u4e4b\u524d\uff0c\u6b64\u9644\u52a0\u7ec4\u4ef6\u4e0d\u4f1a\u8fd0\u884c\u3002
cfu.downloads.icon.title = \u4e0b\u8f7d
cfu.download.failed    = \u5931\u8d25
cfu.options.downloaddir.label	= \u4e0b\u8f7d\u76ee\u5f55\uff1a
cfu.file.menu.loadaddon = \u52a0\u8f7d\u9644\u52a0\u6587\u4ef6...
cfu.file.menu.loadaddon.mnemonic = \u6211
cfu.generic.table.header.extension = \u6269\u5c55
cfu.generic.table.header.addOn = \u9644\u52a0
cfu.generic.table.header.version = \u7248\u672c
cfu.generic.table.header.minimumJavaVersion = Minimum Java Version
cfu.generic.table.header.selectInstall = Install?
cfu.help.menu.check    = \u68c0\u67e5\u66f4\u65b0..
cfu.help.menu.check.mnemonic   = u
cfu.kali.options = <html><body><h3>Kali Download Options</h3><br>There is a more recent version of ZAP available for Kali.<br>\n\
To install it either\:<ul>\n\
<li>Type the following on the command line\: "apt-get update; apt-get install zaproxy"</li>\n\
<li>Use a graphical package management tool such as "synaptic" to update the "zaproxy" package</li>\n\
</ul>In both cases root privileges are required.</body></html>
cfu.label.cfuonstart = \u5728\u542f\u52a8\u65f6\u68c0\u67e5\u66f4\u65b0\uff1f
cfu.label.dir.border   = \u6dfb\u52a0\u76ee\u5f55
cfu.label.addons.border = \u9644\u52a0-ons
cfu.label.norecentcfu =  \u4f60\u5df2\u7ecf\u4e09\u4e2a\u6708\u4ee5\u4e0a\u6ca1\u6709\u68c0\u67e5\u66f4\u65b0\u4e86\u3002\n\
ZAP\u662f\u5b9a\u671f\u66f4\u65b0\u7684\uff0c\u6240\u4ee5\u4f60\u5f88\u53ef\u80fd\u662f\n\
\n\
\u5e26\u7740\u8fc7\u671f\u7684\u9644\u52a0\u7ec4\u4ef6\u6765\u8fd0\u884cZAP\u3002\n\
\n\
\u8981\u73b0\u5728\u68c0\u67e5\u66f4\u65b0\u5417\uff1f\n\
\n\

cfu.label.oldzap = \u8fd9\u4e2a\u7248\u672c\u7684ZAP\u662f\u5728\u4e00\u5e74\u591a\u524d\u521b\u5efa\u7684\uff01\n\
ZAP\u662f\u5b9a\u671f\u66f4\u65b0\u7684\uff0c\u6240\u4ee5\u4f60\u5f88\u53ef\u80fd\n\
\n\
\u8fd0\u884c\u7740\u4e00\u4e2a\u8fc7\u671f\u7684\u7248\u672c\u3002\n\
\n\
\u8981\u73b0\u5728\u68c0\u67e5\u65b0\u7248\u672c\u5417\uff1f\n\
\n\

cfu.label.outofdateaddons = \u9644\u52a0\u7ec4\u4ef6\u8fc7\u671f\uff1f
cfu.label.outofdatezap = ZAP\u8fc7\u671f\uff01
cfu.label.selectAddOnForDetails = Select an add-on above to see more details.
cfu.label.zap.border   = ZAP Core
cfu.manage.title    		   = \u7ba1\u7406\u9644\u52a0\u7ec4\u4ef6
cfu.options.dialog.dirs.remove.title	= \u5220\u9664\u9644\u52a0\u76ee\u5f55
cfu.options.dialog.dirs.remove.text		= \u60a8\u786e\u5b9a\u8981\u5220\u9664\u9009\u5b9a\u7684\u76ee\u5f55\uff1f
cfu.options.dialog.dirs.remove.button.confirm	= \u5220\u9664
cfu.options.dialog.dirs.remove.button.cancel	= \u53d6\u6d88
cfu.options.dialog.dirs.remove.checkbox.label	= \u4e0d\u8981\u518d\u663e\u793a\u6b64\u6d88\u606f
cfu.options.dir.border 				= \u76ee\u5f55
cfu.options.downloadNewRelease 		= \u81ea\u52a8\u4e0b\u8f7d\u65b0\u7248\u672c\u7684ZAP\uff08\u4f1a\u63d0\u793a\u4f60\u5b89\u88c5\uff09
cfu.options.downloadNewRelease.kali = Automatically download new ZAP releases (disabled on Kali)
cfu.options.checkAddonUpdates		= \u4e3a\u5df2\u5b89\u88c5\u7684\u9644\u52a0\u7ec4\u4ef6\u68c0\u67e5\u66f4\u65b0
cfu.options.installAddonUpdates		= \u4e3a\u5df2\u5b89\u88c5\u7684\u9644\u52a0\u7ec4\u4ef6\u81ea\u52a8\u5b89\u88c5\u66f4\u65b0
cfu.options.installScannerRules		= Automatically install updates to the scanner rules you have installed
cfu.options.new.border = \u65b0\u7684\u9644\u52a0\u7ec4\u4ef6
cfu.options.reportReleaseAddons		= Report new release quality add-ons
cfu.options.reportBetaAddons		= Report new beta quality add-ons
cfu.options.reportAlphaAddons		= Report new alpha quality add-ons
cfu.options.startUp    = \u5728\u542f\u52a8\u65f6\u68c0\u67e5\u66f4\u65b0
cfu.options.table.header.dir		= Add-on directories
cfu.options.title      = \u68c0\u67e5\u66f4\u65b0
cfu.options.updates.border = Add-on updates
cfu.options.zap.border	= ZAP Releases
cfu.output.downloading = Downloading {0} to {1}
cfu.output.installing  = \u5b89\u88c5\u65b0\u7684\u9644\u52a0\u7ec4\u4ef6{0}\u7248\u672c{1}
cfu.output.installing.finished = Finished installing new add-on {0} version {1}
cfu.output.replacing  = Replacing add-on {0} version {1}
cfu.output.replace.failed = Failed to dynamically replace add-on {0} version {1} - the new version will be loaded when ZAP is next restarted
cfu.output.uninstalled  = Uninstalled add-on {0} version {1}
cfu.output.uninstall.failed = Failed to dynamically uninstall add-on {0} version {1} - this add-on will not be loaded when ZAP is next restarted
cfu.status.alpha       = Alpha
cfu.status.beta        = Beta
cfu.status.example     = \u4f8b\u5982
cfu.status.release     = Release
cfu.status.weekly      = \u6bcf\u5468
cfu.status.unknown     = \u672a\u77e5
cfu.tab.installed		= \u5b89\u88c5
cfu.tab.browse			= \u5e02\u573a
cfu.table.header.author = \u4f5c\u8005
cfu.table.header.changes  = \u53d8\u5316
cfu.table.header.desc  = \u8bf4\u660e
cfu.table.header.download = \u4e0b\u8f7d
cfu.table.header.file = \u6587\u4ef6
cfu.table.header.id    = Id
cfu.table.header.info = \u4fe1\u606f\u3002
cfu.table.header.repo = Repo
cfu.table.header.select  = \u9009\u62e9
cfu.table.header.name  = \u540d\u79f0
cfu.table.header.notbefore = Not Before Version
cfu.table.header.notfrom = Not From Version
cfu.table.header.progress = \u8fdb\u5c55
cfu.table.header.status = Status
cfu.table.header.update = \u66f4\u65b0
cfu.table.header.version = \u7248\u672c
cfu.table.header.dependencies = Dependencies
cfu.table.label.failed = \u5931\u8d25
cfu.table.label.new		= * NEW *
cfu.table.label.restartRequired = \u9700\u91cd\u65b0\u542f\u52a8
cfu.table.label.update = \u66f4\u65b0
cfu.title.relnotes     = <h1>ZAP {0} Release Notes</h1> 
cfu.uninstall.failed = Not all add-ons were successfully uninstalled.\n\
Some functionalities might no longer work correctly.\n\
It's recommended to restart ZAP.
cfu.uninstall.confirm	= \u4f60\u786e\u5b9a\u8981\u5378\u8f7d\u6240\u9009\u9644\u52a0\u7ec4\u4ef6\u5417\uff1f
cfu.uninstall.dependentAddOns.confirm = The following dependent add-ons will also be uninstalled\:
cfu.uninstall.dependentAddonsAndExtensions.confirm = The following dependent add-ons will also be uninstalled and extensions unloaded\:
cfu.uninstall.dependentExtensions.confirm = The following dependent extensions will be unloaded\:
cfu.uninstall.message.activeActions = <html>\u4e0b\u5217\u64cd\u4f5c\u4ecd\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\uff1a<ul>{0}</ul>\u8981\u505c\u6b62\u6240\u6709\u8fdb\u884c\u4e2d\u7684\u64cd\u4f5c\u5e76\u5378\u8f7d\u5417\uff1f</html>
cfu.uninstall.message.resourcesNotSavedAndActiveActions = <html>There are unsaved resources and there are active actions\:<br>Unsaved resources\:<ul>{0}</ul>Active actions\:<ul>{1}</ul>Discard all of these resources, stop the actions and continue with uninstallation?</html>
cfu.uninstall.message.resourcesNotSaved   = <html>The following resources have not been saved\:<ul>{0}</ul>Discard all of these resources and continue with uninstallation?</html>
cfu.uninstallation.progress.dialogue.currentAddOn = {0} \u7248\u672c{1}
cfu.uninstallation.progress.dialogue.uninstallExtension =  {0} of {1}
cfu.uninstallation.progress.dialogue.uninstallingActiveScanner = Removing active scanner {0} of {1}
cfu.uninstallation.progress.dialogue.uninstallingExtension = Removing extension {0} of {1}
cfu.uninstallation.progress.dialogue.uninstallingFile = Removing file {0} of {1}
cfu.uninstallation.progress.dialogue.uninstallingPassiveScanner = Removing passive scanner {0} of {1}
cfu.uninstallation.progress.dialogue.progress=
cfu.uninstallation.progress.dialogue.title = \u5378\u8f7d\u63d2\u4ef6
cfu.uninstallation.progress.dialogue.uninstalling = \u5378\u8f7d\uff1a
cfu.update.message.activeActions = <html>The following actions are still active\:<ul>{0}</ul>Stop all active actions and continue with update?</html>
cfu.update.message.resourcesNotSavedAndActiveActions = <html>There are unsaved resources and there are active actions\:<br>Unsaved resources\:<ul>{0}</ul>Active actions\:<ul>{1}</ul>The changes might be lost if the update fails and the actions will be stopped.<br>Continue with update?</html>
cfu.update.message.resourcesNotSaved   = <html>The following resources have not been saved\:<ul>{0}</ul>The changes might be lost if the update fails. Continue with update?</html>
cfu.warn.addon.with.extensions.with.missing.requirements = \u53ef\u9009\u9644\u52a0\u7ec4\u4ef6\uff1a
cfu.warn.addon.with.missing.requirements = Missing Requirements\:
cfu.warn.addon.with.missing.requirements.addon = \u9644\u52a0\u7ec4\u4ef6\u201c{0}\u201d
cfu.warn.addon.with.missing.requirements.addon.id = Add-On with ID "{0}"
cfu.warn.addon.with.missing.requirements.addon.version = \u7248\u672c\u5339\u914d\u201c{1}\u201d\u7684\u9644\u52a0\u7ec4\u4ef6\u201c{0}\u201d\uff08\u627e\u5230\u7248\u672c{2}\uff09
cfu.warn.addon.with.missing.requirements.libs = Bundled libraries
cfu.warn.addon.with.missing.requirements.libs.dependency = Bundled libraries of dependency\: "{0}"
cfu.warn.addon.with.missing.requirements.unknown = Unknown (refer to log file for more information)
cfu.warn.addon.with.missing.requirements.javaversion = Minimum Java version\: {0} (found\: "{1}")
cfu.warn.addon.with.missing.requirements.javaversion.dependency = Minimum Java version\: {0} (found\: "{1}") by dependency\: "{2}"
cfu.warn.addon.with.missing.requirements.javaversion.unknown = \u672a\u77e5
cfu.warn.addOnOlderVersion = Add-on not installed\!\n\
\n\
A newer version of the add-on is already installed\:\n\
Installed\: {0} ({1})\n\
Being installed\: {2} ({3})
cfu.warn.addOnSameVersion = The same version of the add-on is already installed\:\n\
Installed\: {0} ({1})\n\
Being installed\: {2} ({3})\n\
\n\
Reinstall the add-on?
cfu.warn.addOnNotRunnable.message = \u5728\u4e0b\u5217\u8981\u6c42\u5f97\u5230\u6ee1\u8db3\u524d\uff0c\u6b64\u9644\u52a0\u7ec4\u4ef6\u4e0d\u4f1a\u8fd0\u884c\uff1a
cfu.warn.addOnNotRunnable.question = Continue with the installation?
cfu.warn.cantload      = Can not load the specified add-on\:\n\
Not before \= {0}\n\
Not from \= {1}
cfu.warn.invalidAddOn = The selected file is not a valid ZAP add-on{0}
cfu.warn.invalidAddOn.invalidLib = .\n\
It declared missing/invalid library.
cfu.warn.invalidAddOn.invalidPath=\n\
The path is not valid.
cfu.warn.invalidAddOn.noZapExtension=\n\
The file does not have a "zap" extension.
cfu.warn.invalidAddOn.notReadable=\n\
The file is not readable.
cfu.warn.invalidAddOn.errorZip = .\n\
A ZIP error occurred while reading the file\:\n\
{0}
cfu.warn.invalidAddOn.ioError = .\n\
An I/O error occurred while reading the file\:\n\
{0}
cfu.warn.invalidAddOn.missingManifest=\n\
The manifest (ZapAddOn.xml) is missing.
cfu.warn.invalidAddOn.invalidManifest = .\n\
The manifest (ZapAddOn.xml) is invalid\:\n\
{0}
cfu.warn.addOnAlreadyExists = Add-on not installed\!\n\
\n\
An add-on with the same name already exists in the ZAP home "plugin" directory\:\n\
Source\: {0}\n\
Target\: {1}
cfu.warn.unableToCopyAddOn = Add-on not installed\!\n\
\n\
Unable to copy add-on to ZAP home "plugin" directory.\n\
Make sure that you have write permissions for directory\:\n\
{0}
cfu.warn.nolaunch      = The latest ZAP release\: {0} has been downloaded to\n\
{1}\n\
You will need to open this file manually.
cfu.warn.badhash		= Unexpected hash for {0}\n\
This file has been deleted.
cfu.warn.badurl			= Unable to securely access the\n\
'Check for updates' service

# Note dont translate the option strings - they are hardcoded
cmdline.help	= Usage\:\n\
\t{0} [Options]\n\
\n\
Core options\:\n\
\n\
\t-version                 Reports the ZAP version\n\
\n\
\t-cmd                     Run inline (exits when command line options complete)\n\
\n\
\t-daemon                  Starts ZAP in ''daemon'' mode, i.e. without a UI\n\
\n\
\t-config <kvpair>         Overrides the specified ''key\=value'' pair in the configuration file\n\
\n\
\t-configfile <path>       Overrides the ''key\=value'' pairs with those in the specified properties file\n\
\n\
\t-dir <dir>               Uses the specified directory instead of the default one\n\
\n\
\t-installdir <dir>        Overrides the code that detects where ZAP has been installed with the specified directory\n\
\n\
\t-h                       Shows all of the command line options available, including those added by add-ons\n\
\n\
\t-help                    The same as -h\n\
\n\
\t-newsession <path>       Creates a new session at the given location\n\
\n\
\t-session <path>          Opens the given session after starting ZAP\n\
\n\
\t-host <host>             Overrides the host used for proxying specified in the configuration file\n\
\n\
\t-port <port>             Overrides the port used for proxying specified in the configuration file\n\
\n\
\t-lowmem                  Use the database instead of memory as much as possible - this is still experimental\n\
\n\
\t-experimentaldb          Use the experimental generic database code, which is not surprisingly also still experimental\n\
\n\
\t-nostdout                Disables the default logging through standard output\n\
\n\
\t-silent                  Ensures ZAP does not make any unsolicited requests, including ''check for updates''\n\
\n\
Add-on options\:\n\


cmp.desc                       = Compares 2 sessions and generates an HTML file showing the differences
cmp.file.menu.compare          = \u4e0e\u5176\u5b83\u4f1a\u8bdd\u6bd4\u8f83...
cmp.name = Compare Extension
cmp.report.button.allurls      = \u4efb\u610f\u4f1a\u8bdd
cmp.report.button.bothsessions = \u4e24\u8005\u540c\u65f6\u5bf9\u6bd4
cmp.report.button.session1     = \u53ea\u6bd4\u8f83\u4f1a\u8bdd1
cmp.report.button.session2     = \u53ea\u6bd4\u8f83\u4f1a\u8bdd2
cmp.report.header.method       = \u65b9\u6cd5
cmp.report.header.url          = URL

conn.options.defaultUserAgent	 = Default User Agent\:
conn.options.dns.title = \u57df\u540d\u7cfb\u7edf
conn.options.dns.ttlSuccessfulQueries.label = TTL Successful Queries (in seconds)\:
conn.options.dns.ttlSuccessfulQueries.toolTip = <html>Defines for how long the successful DNS queries should be cached\:<ul>\n\
<li>Negative number, cache forever;</li>\n\
<li>Zero, disables caching;</li>\n\
<li>Positive number, the number of seconds the queries will be cached.</li></ul>\n\
<strong>Note\:</strong> Changes are applied after a restart.</html>
conn.options.general             = \u901a\u7528\u914d\u7f6e
conn.options.proxy.address       = \u5730\u5740/\u57df\u540d\uff1a
conn.options.proxy.address.empty = Empty proxy chain name.
conn.options.proxy.username.empty = Empty proxy chain user name.
conn.options.proxy.auth.auth     = Proxy Authentication
conn.options.proxy.auth.password = Password (stored in clear-text)\:
conn.options.proxy.auth.passprompt = Password\:
conn.options.proxy.auth.showpass = Show Password?
conn.options.proxy.auth.prompt   = Prompt for proxy credentials on start up
conn.options.proxy.auth.realm    = Realm\:
conn.options.proxy.auth.required = Outgoing proxy server requires authentication
conn.options.proxy.auth.username = \u7528\u6237\u540d\uff1a
conn.options.proxy.port          = Port (e.g. 8080)\:
conn.options.proxy.skipAddresses = \u8df3\u8fc7\u7f51\u7edc\u4e4b\u95f4\u4e92\u8fde\u534f\u8bae\u6216\u57df\u540d
conn.options.proxy.error.response.msg=\tYour "Options / Connection / Use Proxy Chain" settings might be incorrect.
conn.options.proxy.excluded.domain.add.title = Add Domain Exclusion
conn.options.proxy.excluded.domain.add.button.confirm = \u6dfb\u52a0
conn.options.proxy.excluded.domain.field.label.domain = \u57df\uff1a
conn.options.proxy.excluded.domain.field.label.regex = \u6b63\u5219\u8868\u8fbe\u5f0f\uff1a
conn.options.proxy.excluded.domain.field.label.enabled = \u542f\u7528\uff1a
conn.options.proxy.excluded.domain.modify.title = Modify Domain Exclusion
conn.options.proxy.excluded.domain.modify.button.confirm = Modify
conn.options.proxy.excluded.domain.warning.invalid.regex.title = Domain Exclusion Regex Invalid
conn.options.proxy.excluded.domain.warning.invalid.regex.text = The regular expression is invalid.
conn.options.proxy.excluded.domain.table.header.enabled = \u6d3b\u52a8
conn.options.proxy.excluded.domain.table.header.regex = \u6b63\u5219\u8868\u8fbe\u5f0f
conn.options.proxy.excluded.domain.table.header.value = IP\u5730\u5740/\u57df
conn.options.proxy.excluded.domain.dialog.remove.title = Remove Domain Exclusion
conn.options.proxy.excluded.domain.dialog.remove.text = Are you sure you want to remove the selected domain exclusion?
conn.options.proxy.excluded.domain.dialog.remove.button.cancel = \u53d6\u6d88
conn.options.proxy.excluded.domain.dialog.remove.button.confirm = \u5220\u9664
conn.options.proxy.excluded.domain.dialog.remove.checkbox.label = Do not show this message again
conn.options.proxy.useProxyChain = Use Proxy Chain
conn.options.socks.title = SOCKS Proxy
conn.options.socks.enabled = \u6d3b\u52a8
conn.options.socks.host = \u4e3b\u673a\:
conn.options.socks.host.empty = The SOCKS host is empty.
conn.options.socks.port = \u7aef\u53e3\uff1a
conn.options.socks.version = \u7248\u672c\uff1a
conn.options.socks.dns = Use SOCKS' DNS
conn.options.socks.dns.tooltip = Only supported with version 5.
conn.options.socks.username = \u7528\u6237\u540d\uff1a
conn.options.socks.password = Password\:
conn.options.singleCookieRequestHeader = Single Cookie Request Header
conn.options.httpStateEnabled = Enable (Global) HTTP State
conn.options.timeout             = Timeout (in seconds)\:
conn.options.title               = \u8fde\u63a5
conn.options.useProxy            = Use an outgoing proxy server

#context.exclude.popup              = Exclude
context.allInScope				   = \u8303\u56f4\u5185\u7684\u4e00\u5207
context.create.title			   = New Context
context.create.warning.noname      = You must supply a context name
context.general                    = Context
context.ddn.dialog.add.title       = \u6dfb\u52a0\u6570\u636e\u9a71\u52a8\u8282\u70b9
context.ddn.dialog.modify.title    = \u4fee\u6539\u6570\u636e\u9a71\u52a8\u8282\u70b9
context.ddn.dialog.remove.text     = Are you sure you want to remove the selected Structural Modifier?
context.ddn.dialog.remove.title    = Remove Structural Modifier


context.ddn.dialog.type            = \u7c7b\u578b\:
context.ddn.dialog.type.data       = \u6570\u636e\u9a71\u52a8\u8282\u70b9
context.ddn.dialog.type.struct     = \u7ed3\u6784\u53c2\u6570
context.ddn.dialog.regex           = Regex Definition\:
context.ddn.dialog.name            = \u540d\u79f0\:
context.ddn.dialog.error.name      = You must supply a name that contains only alpha numeric characters
context.ddn.dialog.error.regex     = You must supply a valid regex pattern that includes 2 or 3 regex groups.\n\
See the help for more information 

context.ddn.table.header.type      = \u7c7b\u578b
context.ddn.table.header.regex     = \u6b63\u5219\u8868\u8fbe\u5f0f
context.ddn.table.header.name      = \u540d\u79f0

context.ddn.table.type.data        = \u6570\u636e
context.ddn.table.type.struct      = \u7ed3\u6784

context.default.name			   = \u9ed8\u8ba4\u4e0a\u4e0b\u6587
context.delete.popup			   = \u5220\u9664
context.delete.warning			   = Are you sure you want to remove this context?
context.delete.warning.multiple	   = Are you sure you want to remove the contexts\:\n\
{0}?
context.error.name.empty = \u5fc5\u987b\u63d0\u4f9b\u4e0a\u4e0b\u6587\u540d\u79f0\u3002
context.error.name.duplicated = A context with same name already exists.
context.error.name.unknown = \u4e0a\u4e0b\u6587\u540d\u79f0\u65e0\u6548
context.exclude.popup              = Exclude from Context
context.export.error			   = Failed to export Context\:\n\
{0}
context.export.error.exists		   = The file exists and 'overwrite' not selected
context.export.error.noaccess	   = You do not have permissions to write to the selected directory
context.export.error.nofile		   = \u60a8\u5fc5\u987b\u9009\u62e9\u4e00\u4e2a\u6709\u6548\u6587\u4ef6
context.export.error.nocontext	   = You must select a context to export
context.export.label.context	   = Context\:
context.export.label.dir		   = \u76ee\u5f55\uff1a
context.export.label.file		   = \u6587\u4ef6
context.export.label.overwrite	   = \u91cd\u5199\uff1a
context.export.title			   = Export Context
context.export.tooltip			   = Select one Context in order to export it 
context.export.urls.menu 		   = Export URLs for Context(s)
context.flag.popup                 = Flag as Context 
context.flag.popup.datadriven      = {0} \: Data Driven Node
context.include.popup              = Include in Context
context.includesite.popup          = Include Site in Context
context.import.error			   = Failed to import Context\:\n\
{0}
context.inscope.label              = In Scope
context.inscope.popup			   = Add to Scope
context.label.desc                 = \u8bf4\u660e
context.label.exclude              = URLs which will be excluded from the context
context.label.include              = URLs which will be included in the context unless also excluded
context.label.name                 = Context Name
context.label.top            	   = Top Node\:
context.list                       = Contexts
context.list.table.index		   = Index
context.list.table.name			   = Context
context.list.table.inscope		   = In Scope
context.name.prefix.label          = Context\:
context.new.title                  = New Context
context.prefixName				   = Context\: {0}
context.outscope.popup			   = Remove From Scope
context.scope.exclude.title        = Exclude from Context
context.scope.include.title        = Include in Context
context.struct.label.post.kvpsep   = POST Key Value Pair Separators\:
context.struct.label.post.kvsep	   = POST Key Value Separators\:
context.struct.label.struct		   = Structural Modifiers\:
context.struct.label.url.kvpsep	   = URL Key Value Pair Separators\:
context.struct.label.url.kvsep	   = URL Key Value Separators\:
context.struct.warning.stdparser.dup = The Key value pair separators and Key value separators must not contain the same characters
context.struct.warning.stdparser.nokvpsep = You must supply at least one Key value pair separator
context.struct.warning.stdparser.nokvsep = You must supply at least one Key value separator
context.struct.title			   = \u7ed3\u6784
context.technology.title           = \u6280\u672f
context.technology.tree.root       = \u6280\u672f
context.api.desc=
context.api.view.context				= List the information about the named context
context.api.view.context.param.contextName = The name of the context
context.api.view.contextList            = List context names of current session
context.api.view.excludeRegexs          = List excluded regexs for context
context.api.view.excludeRegexs.param.contextName = The name of the context
context.api.view.includeRegexs          = List included regexs for context
context.api.view.includeRegexs.param.contextName = The name of the context
context.api.view.technologyList = Lists the names of all built in technologies
context.api.view.includedTechnologyList = Lists the names of all technologies included in a context
context.api.view.includedTechnologyList.param.contextName = The name of the context
context.api.view.excludedTechnologyList = Lists the names of all technologies excluded from a context
context.api.view.excludedTechnologyList.param.contextName = The name of the context
context.api.view.urls = Lists the URLs accessed through/by ZAP, that belong to the context with the given name.
context.api.view.urls.param.contextName = The name of the context
context.api.action.excludeFromContext   = Add exclude regex to context
context.api.action.excludeFromContext.param.contextName = The name of the context
context.api.action.excludeFromContext.param.regex=
context.api.action.includeInContext     = Add include regex to context
context.api.action.includeInContext.param.contextName = The name of the context
context.api.action.includeInContext.param.regex=
context.api.action.setContextCheckingStrategy     = Set the checking strategy for a context - this defines how ZAP checks that a request is authenticated
context.api.action.setContextCheckingStrategy.param.contextName = The name of the context
context.api.action.setContextCheckingStrategy.param.checkingStrategy = One of EACH_RESP, EACH_REQ, EACH_REQ_RESP, POLL_URL
context.api.action.setContextCheckingStrategy.param.pollUrl = The URL for ZAP to poll, must be supplied if checkingStrategy \= POLL_URL, otherwise ignored
context.api.action.setContextCheckingStrategy.param.pollData = The POST data to supply to the pollUrl, option and only takes effect if checkingStrategy \= POLL_URL
context.api.action.setContextCheckingStrategy.param.pollHeaders = Any additional headers that need to be added to the poll request, separated by '\n\
' characters, only takes effect if checkingStrategy \= POLL_URL
context.api.action.setContextCheckingStrategy.param.pollFrequency = An integer greater than zero, must be supplied if checkingStrategy \= POLL_URL, otherwise ignored
context.api.action.setContextCheckingStrategy.param.pollFrequencyUnits =  One of REQUESTS, SECONDS, must be supplied if checkingStrategy \= POLL_URL, otherwise ignored
context.api.action.setContextRegexs     = Set the regexs to include and exclude for a context, both supplied as JSON string arrays
context.api.action.setContextRegexs.param.contextName = The name of the context
context.api.action.setContextRegexs.param.incRegexs=
context.api.action.setContextRegexs.param.excRegexs=
context.api.action.newContext     = Creates a new context with the given name in the current session
context.api.action.newContext.param.contextName = The name of the context
context.api.action.removeContext = Removes a context in the current session
context.api.action.removeContext.param.contextName = The name of the context
context.api.action.exportContext = Exports the context with the given name to a file. If a relative file path is specified it will be resolved against the "contexts" directory in ZAP "home" dir.
context.api.action.exportContext.param.contextName = The name of the context
context.api.action.exportContext.param.contextFile=
context.api.action.importContext = Imports a context from a file. If a relative file path is specified it will be resolved against the "contexts" directory in ZAP "home" dir.
context.api.action.importContext.param.contextFile=
context.api.action.setContextInScope     = Sets a context to in scope (contexts are in scope by default)
context.api.action.setContextInScope.param.contextName = The name of the context
context.api.action.setContextInScope.param.booleanInScope=
context.api.action.includeContextTechnologies = Includes technologies with the given names, separated by a comma, to a context
context.api.action.includeContextTechnologies.param.contextName = The name of the context
context.api.action.includeContextTechnologies.param.technologyNames=
context.api.action.includeAllContextTechnologies = Includes all built in technologies in to a context
context.api.action.includeAllContextTechnologies.param.contextName = The name of the context
context.api.action.excludeContextTechnologies = Excludes technologies with the given names, separated by a comma, from a context
context.api.action.excludeContextTechnologies.param.contextName = The name of the context
context.api.action.excludeContextTechnologies.param.technologyNames=
context.api.action.excludeAllContextTechnologies = Excludes all built in technologies from a context
context.api.action.excludeAllContextTechnologies.param.contextName = The name of the context

copy.copy.popup = Copy
copy.desc       = Provides a right click option to copy highlighted text to the clipboard

core.api.action.accessUrl = Convenient and simple action to access a URL, optionally following redirections. Returns the request sent and response received and followed redirections, if any. Other actions are available which offer more control on what is sent, like, 'sendRequest' or 'sendHarRequest'.
core.api.action.accessUrl.param.url=
core.api.action.accessUrl.param.followRedirects=
core.api.action.excludeFromProxy = Adds a regex of URLs that should be excluded from the local proxies.
core.api.action.excludeFromProxy.param.regex=
core.api.action.clearExcludedFromProxy = Clears the regexes of URLs excluded from the local proxies.
core.api.action.deleteSiteNode = Deletes the site node found in the Sites Tree on the basis of the URL, HTTP method, and post data (if applicable and specified). 
core.api.action.deleteSiteNode.param.url=
core.api.action.deleteSiteNode.param.method=
core.api.action.deleteSiteNode.param.postData=
core.api.action.deleteAlert = Deletes the alert with the given ID. 
core.api.action.deleteAlert.param.id=
core.api.action.deleteAllAlerts = Deletes all alerts of the current session.
core.api.action.generateRootCA = Generates a new Root CA certificate for the local proxies.
core.api.action.loadSession = Loads the session with the given name. If a relative path is specified it will be resolved against the "session" directory in ZAP "home" dir.
core.api.action.loadSession.param.name=
core.api.action.newSession = Creates a new session, optionally overwriting existing files. If a relative path is specified it will be resolved against the "session" directory in ZAP "home" dir.
core.api.action.newSession.param.name=
core.api.action.newSession.param.overwrite=
core.api.action.runGarbageCollection=
core.api.action.saveSession = Saves the session.
core.api.action.saveSession.param.name = The name (or path) of the session. If a relative path is specified it will be resolved against the "session" directory in ZAP "home" dir.
core.api.action.saveSession.param.overwrite = If existing files should be overwritten, attempting to overwrite the files of the session already in use/saved will lead to an error ("already_exists").
core.api.action.sendRequest = Sends the HTTP request, optionally following redirections. Returns the request sent and response received and followed redirections, if any. The Mode is enforced when sending the request (and following redirections), custom manual requests are not allowed in 'Safe' mode nor in 'Protected' mode if out of scope.
core.api.action.sendRequest.param.request=
core.api.action.sendRequest.param.followRedirects=
core.api.action.setHomeDirectory=
core.api.action.setHomeDirectory.param.dir=
core.api.action.setMode = Sets the mode, which may be one of [safe, protect, standard, attack]
core.api.action.setMode.param.mode=
core.api.action.setOptionDnsTtlSuccessfulQueries = Sets the TTL (in seconds) of successful DNS queries (applies after ZAP restart).
core.api.action.setOptionDnsTtlSuccessfulQueries.param.Integer=
core.api.action.snapshotSession = Snapshots the session, optionally with the given name, and overwriting existing files. If no name is specified the name of the current session with a timestamp appended is used. If a relative path is specified it will be resolved against the "session" directory in ZAP "home" dir.
core.api.action.snapshotSession.param.name=
core.api.action.snapshotSession.param.overwrite=
core.api.action.shutdown = \u5173\u95edZAP
core.api.action.addProxyChainExcludedDomain = Adds a domain to be excluded from the outgoing proxy, using the specified value. Optionally sets if the new entry is enabled (default, true) and whether or not the new value is specified as a regex (default, false).
core.api.action.addProxyChainExcludedDomain.param.value=
core.api.action.addProxyChainExcludedDomain.param.isRegex=
core.api.action.addProxyChainExcludedDomain.param.isEnabled=
core.api.action.modifyProxyChainExcludedDomain = Modifies a domain excluded from the outgoing proxy. Allows to modify the value, if enabled or if a regex. The domain is selected with its index, which can be obtained with the view proxyChainExcludedDomains.
core.api.action.modifyProxyChainExcludedDomain.param.idx=
core.api.action.modifyProxyChainExcludedDomain.param.value=
core.api.action.modifyProxyChainExcludedDomain.param.isRegex=
core.api.action.modifyProxyChainExcludedDomain.param.isEnabled=
core.api.action.removeProxyChainExcludedDomain = Removes a domain excluded from the outgoing proxy, with the given index. The index can be obtained with the view proxyChainExcludedDomains.
core.api.action.removeProxyChainExcludedDomain.param.idx=
core.api.action.enableAllProxyChainExcludedDomains = Enables all domains excluded from the outgoing proxy.
core.api.action.disableAllProxyChainExcludedDomains = Disables all domains excluded from the outgoing proxy.
core.api.action.disableClientCertificate = Disables the option for use of client certificates.
core.api.action.enablePKCS12ClientCertificate = Enables use of a PKCS12 client certificate for the certificate with the given file system path, password, and optional index.
core.api.action.enablePKCS12ClientCertificate.param.filePath=
core.api.action.enablePKCS12ClientCertificate.param.password=
core.api.action.enablePKCS12ClientCertificate.param.index=
core.api.action.setOptionHttpStateEnabled=
core.api.action.setOptionHttpStateEnabled.param.Boolean=
core.api.action.setOptionProxyChainName=
core.api.action.setOptionProxyChainName.param.String=
core.api.action.setOptionProxyChainPassword=
core.api.action.setOptionProxyChainPassword.param.String=
core.api.action.setOptionProxyChainPort=
core.api.action.setOptionProxyChainPort.param.Integer=
core.api.action.setOptionProxyChainPrompt=
core.api.action.setOptionProxyChainPrompt.param.Boolean=
core.api.action.setOptionProxyChainRealm=
core.api.action.setOptionProxyChainRealm.param.String=
core.api.action.setOptionProxyChainSkipName = Use actions [add|modify|remove]ProxyChainExcludedDomain instead.
core.api.action.setOptionProxyChainSkipName.param.String=
core.api.action.setOptionProxyChainUserName=
core.api.action.setOptionProxyChainUserName.param.String=
core.api.action.setOptionDefaultUserAgent = Sets the user agent that ZAP should use when creating HTTP messages (for example, spider messages or CONNECT requests to outgoing proxy).
core.api.action.setOptionDefaultUserAgent.param.String=
core.api.action.setOptionMaximumAlertInstances = Sets the maximum number of alert instances to include in a report. A value of zero is treated as unlimited.
core.api.action.setOptionMaximumAlertInstances.param.numberOfInstances=
core.api.action.setOptionMergeRelatedAlerts = Sets whether or not related alerts will be merged in any reports generated.
core.api.action.setOptionMergeRelatedAlerts.param.enabled=
core.api.action.setOptionAlertOverridesFilePath = Sets (or clears, if empty) the path to the file with alert overrides.
core.api.action.setOptionAlertOverridesFilePath.param.filePath=
core.api.action.setOptionSingleCookieRequestHeader=
core.api.action.setOptionSingleCookieRequestHeader.param.Boolean=
core.api.action.setOptionTimeoutInSecs = Sets the connection time out (in seconds).
core.api.action.setOptionTimeoutInSecs.param.Integer=
core.api.action.setOptionUseProxyChain = Sets whether or not the outgoing proxy should be used. The address/hostname of the outgoing proxy must be set to enable this option.
core.api.action.setOptionUseProxyChain.param.Boolean=
core.api.action.setOptionUseProxyChainAuth=
core.api.action.setOptionUseProxyChainAuth.param.Boolean=
core.api.action.setOptionUseSocksProxy = Sets whether or not the SOCKS proxy should be used.
core.api.action.setOptionUseSocksProxy.param.Boolean = true if the SOCKS proxy should be used, false otherwise.
core.api.desc=
core.api.other.messagesHar = Gets the HTTP messages sent through/by ZAP, in HAR format, optionally filtered by URL and paginated with 'start' position and 'count' of messages
core.api.other.messagesHar.param.baseurl=
core.api.other.messagesHar.param.start=
core.api.other.messagesHar.param.count=
core.api.other.messagesHarById = Gets the HTTP messages with the given IDs, in HAR format.
core.api.other.messagesHarById.param.ids=
core.api.other.sendHarRequest = Sends the first HAR request entry, optionally following redirections. Returns, in HAR format, the request sent and response received and followed redirections, if any. The Mode is enforced when sending the request (and following redirections), custom manual requests are not allowed in 'Safe' mode nor in 'Protected' mode if out of scope.
core.api.other.sendHarRequest.param.request=
core.api.other.sendHarRequest.param.followRedirects=
core.api.other.htmlreport = \u751f\u6210\u4e00\u4e2a\u8d85\u6587\u672c\u6807\u8bb0\u8bed\u8a00\u683c\u5f0f\u7684\u62a5\u544a
core.api.other.jsonreport = \u751f\u6210\u4e00\u4e2ajava\u5bf9\u8c61\u8868\u793a\u6cd5\u683c\u5f0f\u7684\u62a5\u544a
core.api.other.mdreport = Generates a report in Markdown format
core.api.other.messageHar = Gets the message with the given ID in HAR format
core.api.other.messageHar.param.id=
core.api.other.proxy.pac=
core.api.other.setproxy=
core.api.other.setproxy.param.proxy=
core.api.other.xmlreport = \u751f\u6210\u4e00\u4e2a\u53ef\u6269\u5c55\u6807\u8bb0\u8bed\u8a00\u683c\u5f0f\u7684\u62a5\u544a
core.api.other.rootcert = Gets the Root CA certificate used by the local proxies.
core.api.view.alert = Gets the alert with the given ID, the corresponding HTTP message can be obtained with the 'messageId' field and 'message' API method
core.api.view.alert.param.id=
core.api.view.alerts = Gets the alerts raised by ZAP, optionally filtering by URL or riskId, and paginating with 'start' position and 'count' of alerts
core.api.view.alerts.param.baseurl=
core.api.view.alerts.param.start=
core.api.view.alerts.param.count=
core.api.view.alerts.param.riskId=
core.api.view.alertsSummary = Gets number of alerts grouped by each risk level, optionally filtering by URL
core.api.view.alertsSummary.param.baseurl=
core.api.view.childNodes = Gets the child nodes underneath the specified URL in the Sites tree
core.api.view.childNodes.param.url=
core.api.view.numberOfAlerts = Gets the number of alerts, optionally filtering by URL or riskId
core.api.view.numberOfAlerts.param.baseurl=
core.api.view.numberOfAlerts.param.riskId=
core.api.view.homeDirectory=
core.api.view.hosts = Gets the name of the hosts accessed through/by ZAP
core.api.view.sites = Gets the sites accessed through/by ZAP (scheme and domain)
core.api.view.urls = Gets the URLs accessed through/by ZAP, optionally filtering by (base) URL.
core.api.view.urls.param.baseurl=
core.api.view.message = Gets the HTTP message with the given ID. Returns the ID, request/response headers and bodies, cookies, note, type, RTT, and timestamp.
core.api.view.message.param.id=
core.api.view.messages = Gets the HTTP messages sent by ZAP, request and response, optionally filtered by URL and paginated with 'start' position and 'count' of messages
core.api.view.messages.param.baseurl=
core.api.view.messages.param.start=
core.api.view.messages.param.count=
core.api.view.messagesById = Gets the HTTP messages with the given IDs.
core.api.view.messagesById.param.ids=
core.api.view.mode = Gets the mode
core.api.view.numberOfMessages = Gets the number of messages, optionally filtering by URL
core.api.view.numberOfMessages.param.baseurl=
core.api.view.optionDnsTtlSuccessfulQueries = Gets the TTL (in seconds) of successful DNS queries.
core.api.view.optionHttpState=
core.api.view.optionHttpStateEnabled=
core.api.view.optionProxyChainSkipName = Use view proxyChainExcludedDomains instead.
core.api.view.optionProxyChainName=
core.api.view.optionProxyChainPassword=
core.api.view.optionProxyChainPort=
core.api.view.optionProxyChainPrompt=
core.api.view.optionProxyChainRealm=
core.api.view.optionProxyChainUserName=
core.api.view.optionProxyExcludedDomains = Use view proxyChainExcludedDomains instead.
core.api.view.optionProxyExcludedDomainsEnabled = Use view proxyChainExcludedDomains instead.
core.api.view.optionDefaultUserAgent =  Gets the user agent that ZAP should use when creating HTTP messages (for example, spider messages or CONNECT requests to outgoing proxy).
core.api.view.optionMaximumAlertInstances = Gets the maximum number of alert instances to include in a report.
core.api.view.optionMergeRelatedAlerts = Gets whether or not related alerts will be merged in any reports generated.
core.api.view.optionAlertOverridesFilePath = Gets the path to the file with alert overrides.
core.api.view.optionSingleCookieRequestHeader=
core.api.view.optionTimeoutInSecs = Gets the connection time out (in seconds).
core.api.view.optionUseProxyChain=
core.api.view.optionUseProxyChainAuth=
core.api.view.optionUseSocksProxy = Gets whether or not the SOCKS proxy should be used.
core.api.view.proxyChainExcludedDomains = Gets all the domains that are excluded from the outgoing proxy. For each domain the following are shown\: the index, the value (domain), if enabled, and if specified as a regex.
core.api.view.version = \u83b7\u53d6ZAP\u7248\u672c
core.api.view.excludedFromProxy = Gets the regular expressions, applied to URLs, to exclude from the local proxies.
core.api.view.sessionLocation = Gets the location of the current session file
core.api.view.zapHomePath = Gets the path to ZAP's home directory.

core.api.depreciated.alert = Use the API endpoint with the same name in the 'alert' component instead.
core.api.depreciated.report = Use the 'generate' API endpoint the 'reports' component instead.

custompages.content.location.url=URL
custompages.content.location.response=\u54cd\u5e94

custompages.desc=Custom Pages Definition

custompages.dialog.add.title=Add Custom Page
custompages.dialog.add.button.confirm=Confirm
custompages.dialog.add.field.label.type=\u7c7b\u578b\:
custompages.dialog.add.field.label.enabled=\u542f\u7528\uff1a
custompages.dialog.add.field.label.regex=Is Regex?
custompages.dialog.add.field.label.content=Content\:
custompages.dialog.add.field.label.contentlocation=Content Location\:
custompages.dialog.add.field.content.empty.warn=The "Content" field can't be blank or simply wildcard (.*). 

custompages.dialog.modify.title=Modify Custom Page
custompages.dialog.modify.button.confirm=Confirm

custompages.dialog.remove.button.cancel=\u53d6\u6d88
custompages.dialog.remove.button.confirm=\u5220\u9664
custompages.dialog.remove.checkbox.label=Do not show this message again
custompages.dialog.remove.text=Are you sure you want to remove the selected Custom Page?
custompages.dialog.remove.title=Remove Custom Page

custompages.panel.description=Define custom pages for error conditions, etc.
custompages.panel.title=Custom Page

custompages.popup.indicator = {0} \: Custom Page Indicator
custompages.popup.url =  {0} \: Custom Page URL

custompages.name = Custom Pages Extension

custompages.table.header.enabled=\u6d3b\u52a8
custompages.table.header.content=Content
custompages.table.header.contentlocation=Content Location
custompages.table.header.isregex=Is RegEx?
custompages.table.header.type=Custom Page Type

custompages.type.error=Error Page
custompages.type.notfound=Not Found
custompages.type.ok=Ok
custompages.type.other=Other

database.optionspanel.name = \u6570\u636e\u5e93
database.optionspanel.option.compact.label = Compact (on exit)
database.optionspanel.option.recoveryLog.label = \u6062\u590d\u65e5\u5fd7
database.optionspanel.option.recoveryLog.tooltip = <html>\u638c\u7ba1\u6570\u636e\u5e93\u6062\u590d\u65e5\u5fd7\u7684\u542f\u7528\u4e0e\u5426\u3002<br>\u7981\u7528\u7684\u8bdd\u4f1a\u6539\u5584\u6570\u636e\u5e93\u6027\u80fd\uff0c\u4f46\u5728\u7a81\u7136\u9000\u51faZAP\u65f6\u53ef\u80fd\u9020\u6210\u6570\u636e\u4e22\u5931\u3002<br>\u6ce8\uff1a\u5f53\u524d\u4f1a\u8bdd\u4e0d\u53d7\u5f71\u54cd\uff0c\u66f4\u6539\u5c06\u5bf9\u65b0\u4f1a\u8bdd\u548c\u5df2\u6253\u5f00\u7684\u4f1a\u8bdd\u751f\u6548\u3002</html>
database.optionspanel.option.request.body.size.label = Maximum Request Body Size
database.optionspanel.option.response.body.size.label = Maximum Response Body Size 

database.optionspanel.option.newsessionopt.label		= Default Option\:
database.optionspanel.option.newsessionopt.unspecified	= \u672a\u6307\u5b9a
database.optionspanel.option.newsessionopt.timestamped	= Persist with timestamped name
database.optionspanel.option.newsessionopt.userspec		= Persist with user specified name 
database.optionspanel.option.newsessionopt.temporary	= Do not automatically persist
database.optionspanel.option.newsessionprompt.label		= Prompt for persistence options on new session

database.newsession.button.start = \u5f00\u59cb
database.newsession.question	= <html><body><b>Do you want to persist the ZAP Session?</b></body</html>
database.newsession.prompt.label = \u8bb0\u4f4f\u6211\u7684\u9009\u62e9\u5e76\u4e0d\u8981\u518d\u8be2\u95ee\u3002
database.newsession.prompt.note = <html><body>You can always change your decision via the Options / Database screen </body</html>
database.newsession.temporary 	= <html><body>No, I do not want to persist this session at this moment in time</body</html>
database.newsession.timestamped = <html><body>Yes, I want to persist this session with name based on the current timestamp</body</html>
database.newsession.userspec	= <html><body>Yes, I want to persist this session but I want to specify the name and location</body</html>

dynssl.button.generate           = \u751f\u6210
dynssl.button.import             = \u5bfc\u5165
dynssl.button.later              = Later
dynssl.desc                      = Creates a dynamic SSL certificate to allow SSL communications to be intercepted without warnings being generated by the browser
dynssl.filter.file				 = config.xml or *.pem files 
dynssl.label.rootca              = Root CA certificate
dynssl.importpem.failedreadfile = Failed to read the selected .pem file\:\n\
{0}
dynssl.importpem.nocertsection = No certificate section found in the .pem file.\n\
It should contain the certificate surrounded with the tokens\:\n\
{0}\n\
and\:\n\
{1}
dynssl.importpem.certnobase64 = The certificate is not properly base64 encoded.
dynssl.importpem.noprivkeysection = No private key section found in the .pem file.\n\
It should contain the private key surrounded with the tokens\:\n\
{0}\n\
and\:\n\
{1}
dynssl.importpem.privkeynobase64 = The private key is not properly base64 encoded.
dynssl.importpem.failedkeystore = Failed to create the KeyStore from the .pem file\:\n\
{0}
dynssl.importpem.failed.title = Error Import Root CA Cert .pem File
dynssl.message1.filecouldntloaded = Failed to import Root CA certificate from the config file.\n\
Please see log file for details.
dynssl.message1.title            = \u5bfc\u5165\u51fa\u9519
dynssl.message2.caalreadyexists  = A Root CA certificate already exists.
dynssl.message2.title            = Overwrite Existing Certificate?
dynssl.message2.wanttooverwrite  = Do you want to overwrite the current certificate?
dynssl.message2.willreplace      = \u521b\u5efa\u4e00\u4e2a\u65b0\u8bc1\u4e66\u5c06\u66ff\u6362\u73b0\u6709\u8bc1\u4e66\u3002
dynssl.message.nocertinconf = The selected configuration file does not have a certificate.
dynssl.message.nocertinconf.title = No Root CA Certificate
dynssl.name = Dynamic SSL Certificates Extension
dynssl.options.name              = Dynamic SSL Certificates
dynssl.text.createnow            = Go to options panel and create certificate now.
dynssl.text.notnow               = \u73b0\u5728\u6682\u4e0d\u521b\u5efa\uff0c\u7a0d\u540e\u521b\u5efa\u8bc1\u4e66\u3002
dynssl.text.sslwontwork          = \u5982\u679c\u4f60\u8fd8\u672a\u521b\u5efa\u5e76\u5bfc\u5165\u4e00\u4e2aOWASP ZAP CA\u6839\u8bc1\u4e66\uff0c\u90a3\u4e48SSL\u5c06\u4e0d\u751f\u6548\u3002\u4f60\u968f\u65f6\u53ef\u4ee5\u5728\u9009\u9879\u83dc\u5355\u4e2d\u521b\u5efa\u4e00\u4e2a\u8fd9\u7c7b\u8bc1\u4e66\uff0c\u56e0\u6b64\u4e0d\u5fc5\u73b0\u5728\u5c31\u521b\u5efa\u3002
dynssl.warn.cert.expired = ZAPs Root CA certificate has expired as of {0} (now\: {1}).\n\
You should regenerate it and re-install it in your browsers.\n\
\n\
Regenerate the certificate and go to the relevant options screen now?
dynssl.warn.cert.failed			= Failed to create Root CA certificate\: {0}
dynssl.cmdline.certload			= Loads the Root CA certificate from the specified file name
dynssl.cmdline.certload.done	= Root CA certificate loaded from {0}
dynssl.cmdline.certfulldump		= Dumps the Root CA full certificate (including the private key) into the specified file name, this is suitable for importing into ZAP
dynssl.cmdline.certpubdump		= Dumps the Root CA public certificate into the specified file name, this is suitable for importing into browsers
dynssl.cmdline.certdump.done	= Root CA certificate written to {0}
dynssl.cmdline.error.noread		= Cannot read file {0}
dynssl.cmdline.error.nowrite	= Cannot write to file {0}
dynssl.cmdline.error.write		= Error writing Root CA certificate to {0}

edit.find.button.cancel = \u53d6\u6d88
edit.find.button.find   = Find
edit.find.label.what    = Find what\:
edit.find.label.notfound = String not found.
edit.find.popup         = \u67e5\u627e...
edit.find.title         = Find
edit.name = Edit Menu Extension

exportUrls.popup = \u5c06\u5168\u90e8\u7684URL\u5bfc\u51fa\u5230\u6587\u4ef6\u4e2d...
exportUrls.popup.selected = \u5c06\u6240\u9009\u7edf\u4e00\u8d44\u6e90\u5b9a\u4f4d\u7b26\u5bfc\u51fa\u6587\u4ef6...
exportUrls.popup.context.error = Please select a Context.

export.button.name = \u5bfc\u51fa
export.button.success = \u6210\u529f\u5bfc\u51fa\uff01
export.button.error = Error while exporting\:
export.button.default.filename = \u672a\u547d\u540d.csv

ext.desc = Allows you to configure which extensions are loaded when ZAP starts
ext.name = Extension Configuration Extension

file.format.ascii       = ASCII\u6587\u672c\u6587\u4ef6
file.format.html        = ASCII HTML\u6587\u4ef6
file.format.json        = JSON \u6587\u4ef6
file.format.md          = ASCII Markdown File
file.format.xml         = ASCII XML\u6587\u4ef6
file.format.zap.addon   = ZAP \u63d2\u4ef6
file.format.zap.context	= ZAP Context
file.format.zap.policy	= ZAP \u7b56\u7565
file.format.zap.session = ZAP \u4f1a\u8bdd
file.load.error         = Error loading file from
file.overwrite.warning  = \u6587\u4ef6\u5df2\u5b58\u5728\u3002\u662f \= \u8986\u76d6, \u4e0d\u662f \= \u6dfb\u52a0?
file.save.error         = \u4fdd\u5b58\u6587\u4ef6\u65f6\u51fa\u9519 

flag.site.popup = Flag as

forcedUser.api.view.isForcedUserModeEnabled = Returns 'true' if 'forced user' mode is enabled, 'false' otherwise
forcedUser.api.view.getForcedUser = Gets the user (ID) set as 'forced user' for the given context (ID)
forcedUser.api.view.getForcedUser.param.contextId=
forcedUser.api.action.setForcedUser = Sets the user (ID) that should be used in 'forced user' mode for the given context (ID)
forcedUser.api.action.setForcedUser.param.contextId=
forcedUser.api.action.setForcedUser.param.userId=
forcedUser.api.action.setForcedUserModeEnabled = Sets if 'forced user' mode should be enabled or not
forcedUser.api.action.setForcedUserModeEnabled.param.boolean=
forcedUser.api.desc=
forcedUser.name = Forced User Extension
forceduser.panel.title						= Forced User
forceduser.panel.label.description			= Select the user that will be used for all the requests made for this context, if the 'Forced User' mode is enabled\:
forceduser.toolbar.button.disabled 	= Forced User Mode disabled - Configure at least one Forced User for a Context to enable
forceduser.toolbar.button.on 		= Forced User Mode enabled - click to disable
forceduser.toolbar.button.off	 	= Forced User Mode disabled - click to enable 
forceduser.menuitem.label = Enable Forced User Mode

footer.alerts.high.tooltip   = \u9ad8\u5ea6\u5a01\u80c1\u8b66\u544a
footer.alerts.info.tooltip   = \u4fe1\u606f\u6027\u5a01\u80c1\u8b66\u544a
footer.alerts.label          = <html>&nbsp;\u8b66\u544a&nbsp;</html>
footer.alerts.low.tooltip    = \u4f4e\u5a01\u80c1\u8b66\u544a
footer.alerts.medium.tooltip = \u4e2d\u5ea6\u5a01\u80c1\u8b66\u544a
footer.primary.proxy = Primary Proxy\: {0}
footer.proxy.representation = {0}\:{1} 
footer.proxy.tooltip = <html>Primary Proxy\:<br>{0}<html>
footer.proxy.tooltip.enabled.alts = Alternate (Enabled)\:<br>{0}
footer.proxy.tooltip.disabled.alts = Alternate (Disabled)\:<br>{0}
footer.scans.label           = \u5f53\u524d\u626b\u63cf

form.dialog.button.cancel = \u53d6\u6d88

generic.error.internal.title = \u5185\u90e8\u9519\u8bef
generic.error.internal.msg = An error occurred while performing the action.\n\
Consider reporting the error with following details\:
generic.filter.label = \u8fc7\u6ee4\:
generic.filter.tooltip = The filtering system supports regular expressions.
generic.options.panel.security.protocols.title = Security Protocols
generic.options.panel.security.protocols.ssl2hello.label = SSLv2Hello
generic.options.panel.security.protocols.ssl3.label = SSL 3
generic.options.panel.security.protocols.tlsv1.label = TLS 1
generic.options.panel.security.protocols.tlsv1.1.label = TLS 1.1
generic.options.panel.security.protocols.tlsv1.2.label = TLS 1.2
generic.options.panel.security.protocols.tlsv1.3.label = TLS 1.3
generic.options.panel.security.protocols.protocol.not.supported.tooltip = Protocol not supported by JRE
generic.options.panel.security.protocols.error.no.protocols.selected = You must select at least one security protocol.
generic.options.panel.security.protocols.error.just.sslv2hello.selected = SSLv2Hello must be selected in conjunction with other security protocols.
generic.value.disabled	= \u5df2\u7981\u7528
generic.value.text.separator.comma = {0}, {1}
generic.value.time.duration.value.unit = {0} {1}
generic.value.time.duration.unit.milliseconds = ms
generic.value.time.duration.unit.seconds = s
generic.value.time.duration.unit.minutes = min
generic.value.time.duration.unit.hours = h
generic.value.size.bytes.value.unit = {0} {1}
generic.value.size.bytes.unit.bytes = bytes
generic.value.size.bytes.unit.kibytes = KiB
generic.value.size.bytes.unit.mibytes = MiB
generic.value.size.bytes.unit.gibytes = GiB

help.button.tooltip = OWASP ZAP\u7528\u6237\u5411\u5bfc
help.dialog.button.tooltip = Help for this dialog
help.desc           = OWASP ZAP\u7528\u6237\u5411\u5bfc
help.error.nohelp	= User Guide not installed - download the 'help' add-on from the marketplace
help.menu.guide     = OWASP ZAP\u7528\u6237\u5411\u5bfc
help.name = Help Extension

history.addnote.title                  = \u6dfb\u52a0\u5907\u6ce8
history.browser.popup                  = \u5728\u7cfb\u7edf\u6d4f\u89c8\u5668\u4e2d\u6253\u5f00\u7edf\u4e00\u8d44\u6e90\u5b9a\u4f4d\u7b26
history.browser.warning                = Failed to display HTTP message in browser.
history.browser.disabled               = Displaying HTTP messages in browser is disabled as ZAP appears to be running in a container
history.delete.popup                   = \u5220\u9664(\u4ece\u89c6\u56fe)
history.export.messages.popup          = \u5c06\u4fe1\u606f\u5bfc\u51fa\u5230\u6587\u4ef6\u4e2d...
history.export.messages.select.warning = \u5bfc\u51fa\u5230\u6587\u4ef6\u4e4b\u524d\u5728\u5386\u53f2\u8bb0\u5f55\u9762\u677f\u4e2d\u9009\u62e9HTTP\u3002
history.export.response.popup          = Export Response(s) to File...
history.export.response.select.warning = \u5bfc\u51fa\u5230\u6587\u4ef6\u4e4b\u524d\u5728\u5386\u53f2\u8bb0\u5f55\u9762\u677f\u4e2d\u9009\u62e9HTTP\u3002
history.filter.button.apply            = \u5e94\u7528
history.filter.button.clear            = Clear
history.filter.button.filter           = \u8fc7\u6ee4
history.filter.badregex.warning		   = Invalid regex\: {0}
history.filter.desc.label.alerts = \u8b66\u62a5
history.filter.desc.label.codes = Codes
history.filter.desc.label.methods = \u65b9\u6cd5
history.filter.desc.label.notes = \u5907\u6ce8
history.filter.desc.label.tags = \u6807\u7b7e
history.filter.desc.label.urlexcregex = URL Exc Regex
history.filter.desc.label.urlincregex = URL Inc Regex
history.filter.label.alerts            = \u8b66\u544a
history.filter.label.codes             = \u7f16\u7801
history.filter.label.desc              = Select the required filters below. You can select multiple rows in each element. An element is not used for filtering if none of the rows in it are selected.
history.filter.label.filter            = \u8fc7\u6ee4\:
history.filter.label.methods           = \u65b9\u6cd5
history.filter.label.notes             = \u8282\u70b9
history.filter.label.off               = \u5173\u95ed
history.filter.label.on                = \u5f00\u542f
history.filter.label.tags              = \u6807\u7b7e
history.filter.notes.absent            = \u7f3a\u5931
history.filter.notes.ignore            = \u5ffd\u7565
history.filter.notes.present           = \u5448\u73b0
history.filter.title                   = Filter History
history.filter.label.urlexcregex	   = URL Exc Regex\: 
history.filter.label.urlincregex	   = URL Inc Regex\: 
history.linkWithSitesSelection.unselected.button.tooltip = Link with Sites selection
history.linkWithSitesSelection.selected.button.tooltip = Unlink with Sites selection
history.managetags.button.add          = \u6dfb\u52a0
history.managetags.button.delete       = \u5220\u9664
history.managetags.button.save         = \u4fdd\u5b58
history.managetags.label.addtag        = \u6dfb\u52a0\u6807\u7b7e\uff1a
history.managetags.label.currenttags   = \u5f53\u524d\u6807\u7b7e\uff1a
history.managetags.title               = Manage History Tags
history.name = History Extension
history.note.popup                     = \u8bb0\u5f55...
history.panel.mnemonic		           = h
history.panel.title                    = \u5386\u53f2
history.purge.popup                    = \u5220\u9664
history.purge.warning                  = \u5386\u53f2\u8bb0\u5f55\u5c06\u4ece\u6570\u636e\u5e93\u4e2d\u6e05\u9664\u3002\u8981\u7ee7\u7eed\u5417\uff1f
history.resend.popup                   = \u91cd\u53d1\u9001...
history.scan.warning                   = \u8bb0\u5f55\u9519\u8bef\u3002
history.scope.button.selected          = \u663e\u793a\u6240\u6709\u7edf\u4e00\u8d44\u6e90\u5b9a\u4f4d\u7b26
history.scope.button.unselected        = \u4ec5\u663e\u793a\u8303\u56f4\u5185\u7684\u7edf\u4e00\u8d44\u6e90\u5b9a\u4f4d\u7b26
history.showinhistory.popup            = Show in History Tab
history.showresponse.popup             = \u5728\u6d4f\u89c8\u5668\u4e2d\u663e\u793a\u54cd\u5e94
history.tags.popup                     = Manage History Tags...

httpSessions.api.view.sessions = Gets the sessions for the given site. Optionally returning just the session with the given name.
httpSessions.api.view.sessions.param.site=
httpSessions.api.view.sessions.param.session=
httpSessions.api.view.activeSession = Gets the name of the active session for the given site.
httpSessions.api.view.activeSession.param.site=
httpSessions.api.view.defaultSessionTokens = Gets the default session tokens.
httpSessions.api.view.sessionTokens = Gets the names of the session tokens for the given site.
httpSessions.api.view.sessionTokens.param.site=
httpSessions.api.view.sites = Gets all of the sites that have sessions.
httpSessions.api.action.createEmptySession = Creates an empty session for the given site. Optionally with the given name.
httpSessions.api.action.createEmptySession.param.site=
httpSessions.api.action.createEmptySession.param.session=
httpSessions.api.action.removeSession = Removes the session from the given site.
httpSessions.api.action.removeSession.param.site=
httpSessions.api.action.removeSession.param.session=
httpSessions.api.action.setActiveSession = Sets the given session as active for the given site.
httpSessions.api.action.setActiveSession.param.site=
httpSessions.api.action.setActiveSession.param.session=
httpSessions.api.action.unsetActiveSession = Unsets the active session of the given site.
httpSessions.api.action.unsetActiveSession.param.site=
httpSessions.api.action.addSessionToken = Adds the session token to the given site.
httpSessions.api.action.addSessionToken.param.site=
httpSessions.api.action.addSessionToken.param.sessionToken=
httpSessions.api.action.removeSessionToken = Removes the session token from the given site.
httpSessions.api.action.removeSessionToken.param.site=
httpSessions.api.action.removeSessionToken.param.sessionToken=
httpSessions.api.action.setSessionTokenValue = Sets the value of the session token of the given session for the given site.
httpSessions.api.action.setSessionTokenValue.param.site=
httpSessions.api.action.setSessionTokenValue.param.session=
httpSessions.api.action.setSessionTokenValue.param.sessionToken=
httpSessions.api.action.setSessionTokenValue.param.tokenValue=
httpSessions.api.action.renameSession = Renames the session of the given site.
httpSessions.api.action.renameSession.param.site=
httpSessions.api.action.renameSession.param.oldSessionName=
httpSessions.api.action.renameSession.param.newSessionName=
httpSessions.api.action.addDefaultSessionToken = Adds a default session token with the given name and enabled state.
httpSessions.api.action.addDefaultSessionToken.param.sessionToken=
httpSessions.api.action.addDefaultSessionToken.param.tokenEnabled=
httpSessions.api.action.setDefaultSessionTokenEnabled = Sets whether or not the default session token with the given name is enabled.
httpSessions.api.action.setDefaultSessionTokenEnabled.param.sessionToken=
httpSessions.api.action.setDefaultSessionTokenEnabled.param.tokenEnabled=
httpSessions.api.action.removeDefaultSessionToken = Removes the default session token with the given name.
httpSessions.api.action.removeDefaultSessionToken.param.sessionToken=
httpSessions.api.desc=
httpsessions.panel.mnemonic				= h
httpsessions.panel.title				= HTTP Sessions
httpsessions.name = HTTP Sessions Extension
httpsessions.toolbar.site.label			= \u7ad9\u70b9\:
httpsessions.toolbar.site.select		= --\u9009\u62e9\u7ad9\u70b9--
httpsessions.toolbar.newsession.tooltip = Force a new session
httpsessions.toolbar.newsession.label	= \u65b0\u5efa\u4f1a\u8bdd
httpsessions.toolbar.options.button		= \u9009\u9879
httpsessions.session.defaultName		= Session {0}
httpsessions.desc						= Extension handling HTTP sessions
httpsessions.table.header.name			= \u540d\u79f0
httpsessions.table.header.active		= \u6d3b\u52a8
httpsessions.table.header.tokens		= Session Tokens' Values
httpsessions.table.header.matched		= \u4fe1\u606f\u5339\u914d
httpsessions.popup.find = Find Related Messages
httpsessions.popup.session.active.set	= Set as Active
httpsessions.popup.session.active.unset	= Unset as Active
httpsessions.popup.session.copyToken    = Copy Session Token Value to Clipboard
httpsessions.popup.session.remove		= Remove Session
httpsessions.popup.session.addUser		= Add as 'Manual Auth' User for Context...
httpsessions.api.error.rename			= Cannot rename because of not found session or of already existing name
httpsessions.options.title				= HTTP Sessions
httpsessions.options.table.header.token		= Token Name
httpsessions.options.label.tokens       = <html><p>\u9ed8\u8ba4\u4f1a\u8bdd\u4ee4\u724c\uff08\u4e0d\u533a\u5206\u5927\u5c0f\u5199\uff09</p><p><i>* \u5982\u679c\u4f60\u6dfb\u52a0\u6216\u66f4\u6539\u4e86\u4efb\u4f55\u4ee4\u724c\u540d\u79f0\uff0c\u90a3\u4e48\u4f60\u5fc5\u987b\u91cd\u65b0\u8bbf\u95ee\u5305\u542b\u8fd9\u4e9b\u4ee4\u724c\u7684\u9875\u9762\uff0c\u5b83\u4eec\u624d\u4f1a\u88ab\u8bc6\u522b\u3002</i></p></html>
httpsessions.options.label.proxyOnly	= Enabled for Proxy only (not recommended)
httpsessions.options.table.header.enabled = \u6d3b\u52a8
httpsessions.options.dialog.token.add.button.cancel           = \u53d6\u6d88
httpsessions.options.dialog.token.add.button.confirm          = \u6dfb\u52a0
httpsessions.options.dialog.token.add.title                   = Add HTTP Session Token
httpsessions.options.dialog.token.field.label.enabled         = \u542f\u7528\uff1a
httpsessions.options.dialog.token.field.label.name            = Token\:
httpsessions.options.dialog.token.modify.button.confirm       = Modify
httpsessions.options.dialog.token.modify.title                = Modify HTTP Session Token
httpsessions.options.dialog.token.remove.button.cancel        = \u53d6\u6d88
httpsessions.options.dialog.token.remove.button.confirm       = \u5220\u9664
httpsessions.options.dialog.token.remove.checkbox.label       = Do not show this message again
httpsessions.options.dialog.token.remove.text                 = \u60a8\u786e\u5b9a\u8981\u79fb\u9664\u9009\u5b9a\u7684\u4ee4\u724c\uff1f
httpsessions.options.dialog.token.remove.title                = Remove HTTP Session Token
httpsessions.options.dialog.token.warning.name.repeated.text  = A HTTP Session token with the given name already exists.
httpsessions.options.dialog.token.warning.name.repeated.title = Duplicated HTTP Session Token Name

http.panel.model.header.warn.malformed = Failed to parse the header, is it well-formed?
http.panel.model.header.warn.notfound  = No header found.
http.panel.component.warn.datainvalid = Unable to switch components, failed to set the data to the message.
http.panel.noSuitableComponentFound = No suitable component has been found to display the message.
http.panel.component.all.tooltip = Combined display for header and body
http.panel.component.split.body = Body\: 
http.panel.component.split.header = Header\: 
http.panel.component.split.tooltip = Split display for header and body
http.panel.name = Combined HTTP Panels Extension
http.panel.request.mnemonic		 = r
http.panel.request.title 		 = \u8bf7\u6c42
http.panel.requestAndResponse.title = Request & Response
http.panel.response.mnemonic	 = r
http.panel.response.title 		 = \u54cd\u5e94
http.panel.view.formtable.ext.name = HTTP Panel Form Table View Extension
http.panel.view.hex.ext.name = HTTP Panel Hex View Extension
http.panel.view.hex.name         = Hex
http.panel.view.image.ext.name = HTTP Panel Image View Extension
http.panel.view.image.name       = \u56fe\u50cf\u89c6\u56fe
http.panel.view.largerequest.name = Large Request
http.panel.view.largerequest.ext.name = HTTP Panel Large Request View Extension
http.panel.view.largerequest.split.warning = <html><p>Very large request body ({0} bytes) - switch views (using the pulldown currently showing ''Body\: Large Request'' above) to display.</p>\n\
<p>Be aware that this message may take some time to load.</p>\n\
<p>You can change the minimum message size used for the ''Large Request'' view via Options / Display.</p></html> 
http.panel.view.largerequest.all.warning = <html><p>Very large request body ({0} bytes) - switch views (using the pulldown currently showing ''Body\: Large Request'' above)to display.</p>\n\
<p>Be aware that this message may take some time to load.</p>\n\
<p>You can change the minimum message size used for the ''Large Request'' view via Options / Display.</p></html> 
http.panel.view.largeresponse.ext.name = HTTP Panel Large Response View Extension
http.panel.view.largeresponse.name = Large Response
http.panel.view.largeresponse.split.warning = <html><p>Very large response body ({0} bytes) - switch views (using the pulldown currently showing ''Body\: Large Response'' above) to display.</p>\n\
<p>Be aware that this message may take some time to load.</p>\n\
<p>You can change the minimum message size used for the ''Large Response'' view via Options / Display.</p></html> 
http.panel.view.largeresponse.all.warning = <html><p>Very large response body ({0} bytes) - switch views (using the pulldown currently showing ''Body\: Large Response'' above) to display.</p>\n\
<p>Be aware that this message may take some time to load.</p>\n\
<p>You can change the minimum message size used for the ''Large Response'' view via Options / Display.</p></html>
http.panel.view.posttable.ext.name = HTTP Panel Post Table View Extension
http.panel.view.requestquery.ext.name = HTTP Panel Query Table View Extension
http.panel.view.syntaxhighlighter.ext.name = HTTP Panel Syntax Highlighter View Extension
http.panel.view.warn.datainvalid = Unable to switch views, failed to set the data to the message.

http.panel.view.text.name        = \u539f\u59cb\u89c6\u56fe
http.panel.view.table.name       = \u8868\u683c\u89c6\u56fe
http.panel.view.tablev2.name       = Table (adv)
http.panel.view.table.paramName  = \u53c2\u6570\u540d
http.panel.view.table.paramValue = \u503c
http.panel.view.tableparam.addins = AddIns
http.panel.view.tableparam.type = \u7c7b\u578b
http.panel.view.tableparam.functions = Functions
http.panel.view.syntaxtext.popup.view.label                    = \u67e5\u770b
http.panel.view.syntaxtext.popup.view.antiAliasing             = Anti-Aliasing
http.panel.view.syntaxtext.popup.view.showLineNumbers          = Show Line Numbers
http.panel.view.syntaxtext.popup.view.codeFolding = Code Folding
http.panel.view.syntaxtext.popup.view.wordWrap                 = Word Wrap
http.panel.view.syntaxtext.popup.view.highlightCurrentLine     = Highlight Current Line
http.panel.view.syntaxtext.popup.view.fadeCurrentHighlightLine = Fade Current Highlight Line
http.panel.view.syntaxtext.popup.view.showWhitespaceCharacters = Show Whitespace Characters
http.panel.view.syntaxtext.popup.view.showNewlineCharacters    = Show Newline Characters
http.panel.view.syntaxtext.popup.view.markOccurrences          = Mark Occurrences
http.panel.view.syntaxtext.popup.view.roundedSelectionEdges    = Rounded Selection Edges
http.panel.view.syntaxtext.popup.view.bracketMatching          = Bracket Matching
http.panel.view.syntaxtext.popup.view.animatedBracketMatching  = Animated Bracket Matching
http.panel.view.syntaxtext.popup.syntax.label        = Syntax
http.panel.view.syntaxtext.popup.syntax.autoDetect   = Auto Detect
http.panel.view.syntaxtext.syntax.plain              = Plain
http.panel.view.syntaxtext.syntax.css                = CSS
http.panel.view.syntaxtext.syntax.html               = HTML
http.panel.view.syntaxtext.syntax.javascript         = JavaScript
http.panel.view.syntaxtext.syntax.json               = JSON
http.panel.view.syntaxtext.syntax.xml                = XML
http.panel.view.syntaxtext.syntax.xWwwFormUrlencoded = x-www-form-urlencoded

jvm.options.title				= JVM
jvm.options.error.writing		= Failed to save JVM Options in property file {0}\:\n\
 {1}
jvm.options.label.jvmoptions	= JVM Options\:
jvm.options.warning.restart		= Changes to the JVM Options will only be applied when the program is restarted.
jvm.options.memory.size = Size\: {0}
jvm.options.memory.used = Used\: {0}
jvm.options.memory.max = Max\: {0}

keyboard.api.cheatsheet.header		= <head><title>OWASP ZAP\u952e\u76d8\u5feb\u6377\u952e</title></head><body><H1>OWASP ZAP\u952e\u76d8\u5feb\u6377\u952e</H1>\n\
<table border\="0"><tr><th>\u52a8\u4f5c</th><th></th><th>\u4fee\u9970\u7b26</th><th>\u952e</th></tr>
keyboard.api.cheatsheet.tablerow	= <tr><td>{0}</td><td>&nbsp;</td><td>{1}</td><td>{2}</td></tr>
keyboard.api.cheatsheet.footer		= </table><br/>Generated by the OWASP ZAP API</body>
keyboard.api.other.cheatsheetActionOrder = Lists the keyboard shortcuts sorted by action, optionally, showing actions without shortcut set.
keyboard.api.other.cheatsheetKeyOrder = Lists the keyboard shortcuts sorted by keyboard shortcut, optionally, showing actions without shortcut set.
keyboard.desc						= Adds support for configurable keyboard shortcuts for all of the ZAP menus.
keyboard.key.alt					= Alt
keyboard.key.control				= \u63a7\u5236
keyboard.key.down					= \u4e0b
keyboard.key.left					= \u5de6
keyboard.key.right					= \u53f3
keyboard.key.shift					= \u5207\u6362
keyboard.key.up						= \u4e0a
keyboard.name = Keyboard Configuration Extension

keyboard.options.button.cheatAction = 'Action' Cheatsheet
keyboard.options.button.cheatAction.tooltip = <html><body>\u751f\u6210\u4e00\u5f20\u6309\u201c\u52a8\u4f5c\u201d\u6392\u5e8f\u7684HTML\u952e\u76d8\u5feb\u6377\u952e\u5907\u5fd8\u5355<br>\u4ec5\u5f53API\u5df2\u542f\u7528\u65f6\u624d\u53ef\u7528\u3002</body></html>
keyboard.options.button.cheatKey = 'Key' Cheatsheet
keyboard.options.button.cheatKey.tooltip = <html><body>\u751f\u6210\u4e00\u5f20\u6309\u201c\u952e\u201d\u6392\u5e8f\u7684HTML\u952e\u76d8\u5feb\u6377\u952e\u5907\u5fd8\u5355<br>\u4ec5\u5f53API\u5df2\u542f\u7528\u65f6\u624d\u53ef\u7528\u3002</body></html>
keyboard.dialog.button.save		= \u8bbe\u7f6e
keyboard.dialog.label.action	= \u64cd\u4f5c\uff1a
keyboard.dialog.label.key		= \u5bc6\u94a5\uff1a
keyboard.dialog.label.control	= \u63a7\u5236\uff1a
keyboard.dialog.label.alt		= Alt\:
keyboard.dialog.label.shift		= \u5207\u6362\uff1a
keyboard.dialog.title			= \u7f16\u8f91\u952e\u76d8\u5feb\u6377\u65b9\u5f0f
keyboard.dialog.warning.dup		= Already used for\: {0}
keyboard.options.button.reset	= \u91cd\u7f6e
keyboard.options.table.header.menu	= \u83dc\u5355
keyboard.options.table.header.key	= \u5bc6\u94a5
keyboard.options.table.header.mods	= Modifiers
keyboard.options.title			= \u952e\u76d8

localProxies.api.action.addAdditionalProxy = Adds an new proxy using the details supplied.
localProxies.api.action.addAdditionalProxy.param.address=
localProxies.api.action.addAdditionalProxy.param.port=
localProxies.api.action.addAdditionalProxy.param.behindNat=
localProxies.api.action.addAdditionalProxy.param.alwaysDecodeZip=
localProxies.api.action.addAdditionalProxy.param.removeUnsupportedEncodings=
localProxies.api.action.removeAdditionalProxy = Removes the additional proxy with the specified address and port.
localProxies.api.action.removeAdditionalProxy.param.address=
localProxies.api.action.removeAdditionalProxy.param.port=
localProxies.api.desc=
localProxies.api.view.additionalProxies = Gets all of the additional proxies that have been configured.

locale.options.label.change   = <html><body><p>\u60a8\u53ef\u4ee5\u901a\u8fc7<br> &nbsp; &nbsp; &nbsp;&nbsp;\u5de5\u5177/\u9009\u9879... /\u5c4f\u5e55\u663e\u793a \u6765\u9009\u62e9\u663e\u793a\u8bed\u8a00\u3002</body></html>
locale.options.label.language = \u8bf7\u9009\u62e9\u4f60\u7684\u8bed\u8a00\uff1a

log4j.desc                  = Logs errors to the Output tab in development mode only
log4j.icon.title			= \u9519\u8bef
log4j.name = Log4j Extension
log4j.tools.menu.gc         = Run the Garbage Collector

manReq.name = Manual Request Editor Extension
manReq.button.send             = \u53d1\u9001
manReq.button.send.tooltip = Alt+Enter
manReq.button.send.tooltip.mac = Control+Option+Return
manReq.warn.datainvalid = Unable to set the data to the message.
manReq.checkBox.fixLength      = Update Content Length
manReq.checkBox.followRedirect = \u8ddf\u968f\u91cd\u5b9a\u5411
manReq.checkBox.useSession     = \u4f7f\u7528\u6d41\u8ffd\u8e2a\u4f1a\u8bdd
manReq.checkBox.useCookies     = Accept cookies
manReq.checkBox.useCSRF        = Regenerate Anti-CSRF Token
manReq.dialog.title            = \u624b\u52a8\u8bf7\u6c42\u7f16\u8f91\u5668
manReq.pullDown.method         = \u65b9\u6cd5
manReq.pullDown.method.warn = Unable to change the method, failed to set the data to the message.
manReq.tab.request             = \u8bf7\u6c42
manReq.tab.response            = \u54cd\u5e94
manReq.display.tabs            = Separate tabs for Request and Response
manReq.display.above           = Request shown above Response
manReq.display.sidebyside      = Request and Response side by side
manReq.label.timeLapse		   = \u65f6\u95f4\uff1a
manReq.label.contentLength     = Body Length\: 
manReq.label.totalLength       = Total Length\: 
manReq.label.totalLengthBytes  = bytes
manReq.outofscope.warning      = The target URL not in scope
manReq.outofscope.redirection.warning = A redirection was not followed because it was out of scope\:\n\
{0}
manReq.safe.warning            = Manual requests not allowed in Safe mode

menu.analyse                  = \u5206\u6790
menu.analyse.mnemonic         = a
menu.analyse.scan             = \u626b\u63cf
menu.analyse.scanAll          = \u626b\u63cf\u5168\u90e8
menu.analyse.scanPolicy       = \u626b\u63cf\u7b56\u7565...
menu.analyse.spider           = \u722c\u884c...
menu.edit                     = \u7f16\u8f91
menu.edit.mnemonic            = e
menu.edit.find                = \u67e5\u627e...
menu.edit.find.mnemonic       = f
menu.edit.search.next.item                = Next Result
menu.edit.search.next.item.mnemonic       = n
menu.edit.search.previous.item            = Previous Result
menu.edit.search.previous.item.mnemonic   = p
menu.edit.search              = \u641c\u7d22...
menu.edit.search.item = \u641c\u7d22...
menu.edit.search.item.mnemonic = s
menu.edit.zapmode	       = ZAP Mode
menu.file                     = \u6587\u4ef6
menu.file.mnemonic            = f
menu.file.closeSession        = The current session will be closed.  Create new session?
menu.file.closeSession.mnemonic = f
menu.file.context.create      = New Context...
menu.file.context.export	  = Export Context...
menu.file.context.import	  = Import Context... 
menu.file.discardSession      = The current session is not saved.  Discard and create new session?
menu.file.error.selectedCurrentSession.msg = Invalid file, it is the current session.
menu.file.error.selectedCurrentSession.title = Current Session Selected
menu.file.exit                = \u9000\u51fa
menu.file.exit.delete         = Exit and Delete Session...
menu.file.exit.delete.warning = Are you sure you want to delete the session?\n\
It will be permanently lost\!
menu.file.exit.message.activeActions = <html>The following actions are still active\:<ul>{0}</ul>Stop all active actions and exit?</html>
menu.file.exit.message.resourcesNotSavedAndActiveActions = <html>There are unsaved resources and there are still active actions\:<br>Unsaved resources\:<ul>{0}</ul>Active actions\:<ul>{1}</ul>Stop all active actions, discard all of these resources and exit?</html>
menu.file.exit.message.resourcesNotSaved   = <html>The following resources have not been saved\:<ul>{0}</ul>Exit and discard all of these resources?</html>
menu.file.exit.message.sessionResNotSaved  = The current session
menu.file.exit.mnemonic		  = e
menu.file.loadSession         = Loading session file.  Please wait ...
menu.file.loadSession.mnemonic = \u6211
menu.file.newSession.wait.dialogue = Creating new session file. Please wait...
menu.file.newSession          = \u65b0\u5efa\u4f1a\u8bdd
menu.file.newSession.error    = \u521b\u5efa\u4f1a\u8bdd\u9519\u8bef
menu.file.newSession.mnemonic = n
menu.file.openSession         = \u6253\u5f00\u4f1a\u8bdd...
menu.file.openSession.error   = \u6253\u5f00\u4f1a\u8bdd\u9519\u8bef
menu.file.openSession.errorFile = Error opening session file.
menu.file.openSession.mnemonic = o
menu.file.persistSession      = Persist Session...
menu.file.persistSession.error = Error persisting session
menu.file.properties          = Session Properties...
menu.file.properties.mnemonic = p
menu.file.save                = \u4fdd\u5b58
menu.file.saveAs              = \u53e6\u5b58\u4e3a...
menu.file.savingSession       = Saving session file.  Please wait ...
menu.file.savingSession.error = Error saving session file.
menu.file.savingSnapshot      = Saving session snapshot
menu.file.session.activeactions = <html>\u4e0b\u5217\u64cd\u4f5c\u4ecd\u5904\u4e8e\u6d3b\u52a8\u72b6\u6001\uff1a<ul>{0}</ul>\u8981\u505c\u6b62\u6240\u6709\u8fdb\u884c\u4e2d\u7684\u64cd\u4f5c\u5e76\u7ee7\u7eed\u5417\uff1f</html>
menu.file.sessionExists.error = Session already being persisted to disk.\n\
 You do not need to save it again.
menu.file.sessionNotExist.error = You can only snapshot a session when it is being persisted to disk.
menu.file.sessionProperties   = Session Properties...
menu.file.snapshot.activeactions = <html>No actions can be active to snapshot the session\:<ul>{0}</ul></html>
menu.file.shuttingDown        = Shutting down server and database...
menu.file.snapshotSession     = Snapshot Session As...
menu.file.snapshotSession.error = Error saving session snapshot
menu.file.snapshotSession.mnemonic = s
menu.help                     = \u5e2e\u52a9
menu.help.mnemonic            = h
menu.help.about               = \u5173\u4e8eOWASP ZAP
menu.help.zap.support = \u76f8\u5173\u652f\u6301
menu.help.about.mnemonic      = a
menu.import                   = \u5bfc\u5165
menu.import.mnemonic          = i
menu.online                   = \u5728\u7ebf
menu.online.mnemonic          = o
menu.report                   = \u62a5\u544a
menu.report.mnemonic          = r
menu.report.html.generate     = \u751f\u6210HTML\u62a5\u544a...
menu.tools                    = \u5de5\u5177
menu.tools.mnemonic           = t
menu.tools.ascanadv			  = \u4e3b\u52a8\u626b\u63cf...
menu.tools.brk.cont           = Submit and Continue to Next Breakpoint
menu.tools.brk.cont.mnemonic  = c
menu.tools.brk.custom         = Add a Custom HTTP Breakpoint...
menu.tools.brk.custom.mnemonic = p
menu.tools.brk.drop           = Bin
menu.tools.brk.drop.mnemonic  = b
menu.tools.brk.req			  = Toggle Break on All Requests
menu.tools.brk.req.mnemonic	  = b
menu.tools.brk.resp			  = Toggle Break on All Responses
menu.tools.brk.resp.mnemonic  = r
menu.tools.brk.step           = \u6b65\u9aa4
menu.tools.brk.step.mnemonic  = s
menu.tools.filter             = \u8fc7\u6ee4...
menu.tools.manReq             = \u624b\u52a8\u8bf7\u6c42\u7f16\u8f91\u5668...
menu.tools.options            = \u9009\u9879...
menu.tools.options.mnemonic   = o
menu.tools.options.errorSavingOptions = Error saving options.
menu.tools.spider			  = \u722c\u884c...
menu.view                     = \u67e5\u770b
menu.view.mnemonic            = v
menu.view.enableImage         = \u5728\u5386\u53f2\u8bb0\u5f55\u4e2d\u542f\u52a8\u56fe\u50cf
menu.view.showtab             = Show Tab
menu.view.tab				  = {0} Tab
menu.view.tabs.hide		      = Hide Unpinned Tabs
menu.view.tabs.pin            = Pin All Visible Tabs
menu.view.tabs.show			  = Show All Tabs
menu.view.tabs.unpin          = Unpin All Tabs

multiple.options.regexes.table.header.regex = Regex
multiple.options.regexes.dialog.add.regex.title = Add Regular Expression
multiple.options.regexes.dialog.add.regex.button.confirm = \u6dfb\u52a0
multiple.options.regexes.dialog.export.button = \u5bfc\u51fa
multiple.options.regexes.dialog.export.error = Failed to export Regex patterns.\n\
\n\
{0}
multiple.options.regexes.dialog.import.button = \u5bfc\u5165
multiple.options.regexes.dialog.import.error = Failed to import Regex patterns.\n\
\n\
{0}
multiple.options.regexes.dialog.modify.regex.title = Modify Regular Expression
multiple.options.regexes.dialog.modify.regex.button.confirm = Modify
multiple.options.regexes.dialog.remove.regex.title = Remove Regular Expression
multiple.options.regexes.dialog.remove.regex.text = Are you sure you want to remove the selected regular expression?
multiple.options.regexes.dialog.remove.regex.button.cancel = \u53d6\u6d88
multiple.options.regexes.dialog.remove.regex.button.confirm = \u5220\u9664
multiple.options.regexes.dialog.remove.regex.checkbox.label = Do not show this message again
multiple.options.regexes.dialog.regex.invalid.title = Invalid Regular Expression
multiple.options.regexes.dialog.regex.invalid.text = The provided regular expression is not valid\:\n\
{0}
multiple.options.regexes.dialog.regex.invalid.alreadyExist.title = Duplicated Regular Expression
multiple.options.regexes.dialog.regex.invalid.alreadyExist.text = Regular expression already exists.
multiple.options.regexes.dialog.regex.label = \u6b63\u5219\u8868\u8fbe\u5f0f\uff1a

multiple.options.panel.add.button.label                         = Add...
multiple.options.panel.disableAll.button.label                  = \u7981\u6b62\u6240\u6709
multiple.options.panel.enableAll.button.label                   = \u542f\u7528\u6240\u6709
multiple.options.panel.modify.button.label                      = Modify...
multiple.options.panel.remove.button.label                      = \u5220\u9664
multiple.options.panel.removeWithoutConfirmation.checkbox.label = Remove Without Confirmation

multiple.options.panel.ordered.move.top.button.label = Top
multiple.options.panel.ordered.move.top.button.tooltip = Moves the selected element to top position.
multiple.options.panel.ordered.move.up.button.label = \u4e0a
multiple.options.panel.ordered.move.up.button.tooltip = Moves the selected element up one position.
multiple.options.panel.ordered.move.down.button.label = \u4e0b
multiple.options.panel.ordered.move.down.button.tooltip = Moves the selected element down one position.
multiple.options.panel.ordered.move.bottom.button.label = Bottom
multiple.options.panel.ordered.move.bottom.button.tooltip = Moves the selected element to bottom position.

network.ssl.error.connect = An exception occurred while attempting to connect to\: 
network.ssl.error.exception = The exception was\: \n\

network.ssl.error.exception.rootcause = Root cause\: \n\

network.ssl.error.help = The following document may be of assistance in resolving this failure\:\n\
{0} 
network.ssl.error.help.url = https\://www.zaproxy.org/faq/how-to-connect-to-an-https-site-that-reports-a-handshake-failure/

output.panel.clear.button.label = Clear
output.panel.clear.button.toolTip = Clear Output Panel

options.acsrf.table.header.token             = Token
options.acsrf.label.tokens            = <html><body><p>These tokens are treated as anti-CSRF tokens.</p><p>At the moment only FORM parameter tokens are supported</p><p>All token names are treated as being case-insensitive.</p><p>If you add or change any of the token names then you MUST revisit pages containing those tokens before they will be recognised</p> </body></html>
options.acsrf.title                   = Anti-CSRF Tokens
options.acsrf.SearchForPartialMatching = Use params as Anti-CSRF token if its name contain one of the tokens (partial matching).

options.acsrf.dialog.token.add.button.cancel           = \u53d6\u6d88
options.acsrf.dialog.token.add.button.confirm          = \u6dfb\u52a0
options.acsrf.dialog.token.add.title                   = Add Anti-CSRF Token
options.acsrf.dialog.token.field.label.enabled         = \u542f\u7528\uff1a
options.acsrf.dialog.token.field.label.name            = Token\:
options.acsrf.dialog.token.modify.button.confirm       = Modify
options.acsrf.dialog.token.modify.title                = Modify Anti-CSRF Token
options.acsrf.dialog.token.remove.button.cancel        = \u53d6\u6d88
options.acsrf.dialog.token.remove.button.confirm       = \u5220\u9664
options.acsrf.dialog.token.remove.checkbox.label       = Do not show this message again
options.acsrf.dialog.token.remove.text                 = \u60a8\u786e\u5b9a\u8981\u79fb\u9664\u9009\u5b9a\u7684\u4ee4\u724c\uff1f
options.acsrf.dialog.token.remove.title                = Remove Anti-CSRF Token
options.acsrf.dialog.token.warning.name.repeated.text  = An anti-CSRF token with the given name already exists.
options.acsrf.dialog.token.warning.name.repeated.title = Duplicated Anti-CSRF Token Name
options.acsrf.table.header.enabled               = \u6d3b\u52a8

options.display.timestamp.format.combobox.tooltip = Select or enter a timestamp format (based on Java SimpleDateFormat). \n\
Press enter to see it applied to the example. \n\
(If applying your format fails a default will be used.)
options.display.timestamp.format.outputtabtimestamps.label = Display timestamps on output tabs?

# TODO alpha code
options.globalexcludeurl.dialog.token.add.button.cancel           = \u53d6\u6d88
options.globalexcludeurl.dialog.token.add.button.confirm          = \u6dfb\u52a0
options.globalexcludeurl.dialog.token.add.title                   = Add Global Exclude URL Regex
options.globalexcludeurl.dialog.token.field.label.enabled         = \u542f\u7528\uff1a
options.globalexcludeurl.dialog.token.field.label.name            = URL Regex\:
options.globalexcludeurl.dialog.token.field.label.description     = \u8bf4\u660e\uff1a
options.globalexcludeurl.dialog.token.modify.button.confirm       = Modify
options.globalexcludeurl.dialog.token.modify.title                = Modify Global Exclude URL Regex
options.globalexcludeurl.dialog.token.remove.button.cancel        = \u53d6\u6d88
options.globalexcludeurl.dialog.token.remove.button.confirm       = \u5220\u9664
options.globalexcludeurl.dialog.token.remove.checkbox.label       = Do not show this message again
options.globalexcludeurl.dialog.token.remove.text                 = Are you sure you want to remove the selected URL regex?
options.globalexcludeurl.dialog.token.remove.title                = Remove Global Exclude URL Regex
options.globalexcludeurl.dialog.token.warning.name.repeated.text  = Another regex for this Global Exclude URL already exists.
options.globalexcludeurl.dialog.token.warning.name.repeated.title = Duplicated Global Exclude URL Regex
options.globalexcludeurl.table.header.token                       = Regex URL
options.globalexcludeurl.table.header.enabled                     = \u6d3b\u52a8
options.globalexcludeurl.table.header.description                 = \u8bf4\u660e
options.globalexcludeurl.label.tokens            = <html><body><p>These regex URLs will be ignored by the Proxy, Scanner, and Spider when activated. See the help pages for more information.</p></body></html>
options.globalexcludeurl.title                   = Global Exclude URL

# this is displayed in the three proxy/spider/scanner ignore config panels
options.globalexcludeurl.seeglobalconfig         = Note\: URLs in Options / Global Exclude URL will also be ignored.


options.cert.button.browse            = \u6d4f\u89c8
options.cert.button.delete            = \u5220\u9664
options.cert.button.keystore          = Add to KeyStore
options.cert.button.pkcs11            = Add to KeyStore
options.cert.button.setactive         = \u8bbe\u7f6e\u6d3b\u52a8
options.cert.error                    = Error
options.cert.error.accesskeystore     = Error accessing KeyStore\: 
options.cert.error.crypto             = Crypto API is not working yet - Sorry
options.cert.error.fingerprint        = Error calculating key fingerprint\: 
options.cert.error.password           = Maybe your password or driver is wrong.
options.cert.error.password.blank 	  = You've left the PIN field blank.
options.cert.error.pkcs11			  = Try to add the PKCS\#11 driver again...
options.cert.error.pkcs11notavailable = <html><body><p>The required Sun/IBM PKCS\#11 provider is not available.</p><p>For more information visit the pages\:</p></body></html>
options.cert.error.pkcs11notavailable.sun.hyperlink = http\://docs.oracle.com/javase/7/docs/technotes/guides/security/p11guide.html\#Requirements
options.cert.error.pkcs11notavailable.sun.hyperlink.text = Sun PKCS\#11 Provider
options.cert.error.pkcs11notavailable.ibm.hyperlink = http\://pic.dhe.ibm.com/infocenter/java7sdk/v7r0/topic/com.ibm.java.security.component.71.doc/security-component/pkcs11implDocs/ibmpkcs11.html
options.cert.error.pkcs11notavailable.ibm.hyperlink.text = IBMPKCS11Impl Provider
options.cert.error.pkcs12nopass       = PKCS\#12 files with empty passwords are not supported.
options.cert.error.usepassfile        = Please use a password protected file.
options.cert.error.wrongpassword      = Incorrect PKCS\#11 PIN or password
options.cert.error.wrongpasswordlast  = (Last try before blocking the smartcard)
options.cert.label.activecerts        = \u6d3b\u52a8\u8bc1\u4e66
options.cert.label.addkeystore        = <html><body><p>\u6dfb\u52a0\u4f60\u7684\u5bc6\u94a5\u5e93\u5e76\u9009\u62e9\u6240\u9700\u7684\u8bc1\u4e66\u3002</p> <p>\u8bc1\u4e66\u8bbe\u7f6e\u4e0d\u4f1a\u4fdd\u5b58\u5728\u9009\u9879\u4e2d\uff0c\u4f60\u9700\u8981\u5728\u4e0b\u6b21\u91cd\u542fZAP\u65f6\u542f\u7528\u8bc1\u4e66\u3002</p></body></html>
options.cert.label.client.cert        = Client Certificate
options.cert.label.driver             = \u9a71\u52a8\u5668
options.cert.label.enableunsafesslrenegotiation	= Enable unsafe SSL/TLS renegotiation
options.cert.label.enableunsafesslrenegotiationwarning = \u8981\u542f\u7528\u4e0d\u5b89\u5168\u7684SSL/TLS\u91cd\u534f\u5546\uff0c\u4f60\u5fc5\u987b\u5728\u5efa\u7acb\u4efb\u4f55HTTPS\u8fde\u63a5\u4e4b\u524d\u5c31\u542f\u7528\u3002\n\
\u5982\u679c\u5b83\u4e0d\u751f\u6548\uff0c\u8bf7\u91cd\u542fZAP\u3002
options.cert.label.enterpassword      = Enter Password
options.cert.label.file               = \u6587\u4ef6
options.cert.label.keystore           = \u5bc6\u94a5\u5e93
options.cert.label.password           = \u5bc6\u7801
options.cert.label.pincode            = PIN\u7801
options.cert.label.useclientcert      = \u4f7f\u7528\u5ba2\u6237\u7aef\u8bc1\u4e66
options.cert.tab.cryptoapi            = CryptoAPI
options.cert.tab.keystore             = \u5bc6\u94a5\u5e93
options.cert.tab.pkcs                 = PKCS\#12
options.cert.tab.pkcs11               = PKCS\#11
options.cert.title               = Client Certificate
options.dialog.title = \u9009\u9879
options.dialog.rootName = \u9009\u9879
options.dialog.reset.button = Reset to Factory Defaults 
options.dialog.reset.warn = \u4f60\u786e\u5b9a\u8981\u91cd\u7f6e\u6240\u6709\u9009\u9879\u5417\uff1f\n\
\n\
\u8fd9\u5c06\u7acb\u5373\u751f\u6548\uff0c\u5e76\u4e14\u65e0\u6cd5\u64a4\u56de\uff01
options.dialog.reset.error = Failed to reset the options\:\n\
{0}
options.dialog.reset.error.panel = Failed to reset {0} options panel\:\n\
{1}
options.dialog.save.error = Failed to save the options\:\n\
{0}
options.name = Options Extension
options.ext.button.openurl            = Open Homepage in Browser
options.ext.label.author              = Author
options.ext.label.core                = Core
options.ext.label.enabled             = \u6d3b\u52a8
options.ext.label.extension           = \u6269\u5c55
options.ext.label.iscore              = Yes
options.ext.label.name                = \u540d\u79f0
options.ext.label.addon = \u9644\u52a0
options.ext.label.url                 = Homepage
options.ext.title                     = Extensions
options.ext.label.enable              = <html><body>\u542f\u7528\u6216\u7981\u7528\u6269\u5c55\u5c06\u5728\u91cd\u542f\u540e\u751f\u6548\u3002</body></html>
options.lang.file.chooser.description = ZAP language file
options.lang.importer.browse                      = \u6d4f\u89c8
options.lang.importer.button                      = \u5bfc\u5165
options.lang.importer.dialog.message.error        = \u5bfc\u5165\u5931\u8d25\uff1a\u6240\u63d0\u4f9b\u7684\u8bed\u8a00\u5305\u6ca1\u6709\u8bed\u8a00\u6587\u4ef6
options.lang.importer.dialog.message.filenotfound = \u5bfc\u5165\u5931\u8d25\uff1a\u6240\u63d0\u4f9b\u7684\u8bed\u8a00\u5305\u6587\u4ef6\u65e0\u6548\u6216\u4e0d\u5b58\u5728 
options.lang.importer.dialog.message.success      = Successfully imported {0} language files
options.lang.importer.dialog.title                = Language Pack Importer
options.lang.importer.label                       = Import a new language pack (*.zaplang file)\:
options.lang.label.restart                        = <html><body><p>\u6539\u53d8\u5f53\u524d\u663e\u793a\u8bed\u8a00\uff0c\u5728\u91cd\u542f\u5e94\u7528\u7a0b\u5e8f\u540e\u5e94\u7528\u663e\u793a\u3002</p></body></html>
options.lang.selector.label                       = \u8bed\u8a00\:
options.lang.title                                = \u8bed\u8a00
options.lang.usesystemslocaleformat.label = Use system''s locale ({0}) for formatting.
options.lang.usesystemslocaleformat.tooltip = Sets whether or not the system's locale should be used for formatting dates, numbers, and/or currencies.
options.proxy.additional.title = Additional Proxies
options.proxy.local.label.alwaysDecodeGzip = Always unzip gzipped content
options.proxy.local.label.behindnat = Behind NAT
options.proxy.local.label.browser     = Set your browser proxy setting using the above.  The HTTP port and HTTPS port must be the same port as above.
options.proxy.local.label.removeUnsupportedEncodings = \u79fb\u9664\u4e0d\u652f\u6301\u7684\u7f16\u7801
options.proxy.local.label.address = Address\:
options.proxy.local.label.port        = Port (e.g. 8080)\:
options.proxy.local.title             = \u672c\u5730\u4ee3\u7406
options.proxy.local.tooltip.alwaysDecodeGzip = <html>Always automatically unzip gzipped content. This option is needed for applications that ignore the modified "Accept-Encoding" header<br>\n\
This option should be always enabled unless the decoding breaks the application being tested.<br>\n\
The messages encoded will not be correctly scanned (either by passive and active scanners).</html>
options.proxy.local.tooltip.behindnat = <html>Indicates that the Local Proxy (ZAP) is behind NAT.<br>When selected ZAP will attempt to determine the public IP address,<br>to properly detect and handle requests with the public IP address.<br>Refer to the help page for more details.</html>
options.proxy.local.tooltip.removeUnsupportedEncodings = <html>Allows the Local Proxy to remove unsupported encodings from the "Accept-Encoding" request-header field, <br>\n\
so no (unsupported) encoding transformations are done to the response.<br>\n\
This option should be always enabled unless when testing the encoding transformations.<br>\n\
The HTTP responses encoded with unsupported encodings will not be correctly scanned (either by passive and active scanners).</html>

options.proxy.dialog.proxy.warning.dup.title = Duplicated Proxy
options.proxy.dialog.proxy.warning.dup.message = A proxy with this address and port is already defined
options.proxy.dialog.proxy.warning.fail.title = Invalid Proxy 
options.proxy.dialog.proxy.warning.fail.message = Unable to listen on this address and port\: {0}\:{1}
options.proxy.dialog.proxy.add.title			= Add Local Proxy
options.proxy.dialog.proxy.add.button.confirm	= \u6dfb\u52a0
options.proxy.dialog.proxy.modify.button.confirm = Modify
options.proxy.dialog.proxy.modify.title			= Modify Local Proxy
options.proxy.dialog.proxy.remove.button.cancel        = \u53d6\u6d88
options.proxy.dialog.proxy.remove.button.confirm       = \u5220\u9664
options.proxy.dialog.proxy.remove.checkbox.label       = Do not show this message again
options.proxy.dialog.proxy.remove.text                 = Are you sure you want to remove the selected Proxy?
options.proxy.dialog.proxy.remove.title                = Remove Local Proxy

options.script.table.header.dir       = \u76ee\u5f55
options.script.label.dirs             = <html><body><p>Scripts will be loaded from these directories.</p>\n\
<p>The scripts must be in subdirectories named after the relevant script type (such as 'active', 'passive', 'proxy', etc.) and must have an appropriate extension for the script language used.</p>\n\
<p>Scripts that cannot be written to will be added to the Templates section.</p> </body></html>
options.script.title                   = \u811a\u672c
options.script.dialog.dirs.add.button.cancel           = \u53d6\u6d88
options.script.dialog.dirs.add.button.confirm          = \u6dfb\u52a0
options.script.dialog.dirs.modify.button.confirm       = Modify
options.script.dialog.dirs.noscripts.warning           = The selected directory does not appear to contain any valid scripts.\n\
Add the directory anyway?
options.script.dialog.dirs.remove.button.cancel        = \u53d6\u6d88
options.script.dialog.dirs.remove.button.confirm       = \u5220\u9664
options.script.dialog.dirs.remove.checkbox.label       = Do not show this message again
options.script.dialog.dirs.remove.text                 = Are you sure you want to remove the selected directories?
options.script.dialog.dirs.remove.title                = Remove Script Directories

output.panel.mnemonic		= o
output.panel.title 			= \u8f93\u51fa

paramcontainer.panel.search.tooltip = Click to search or press 'Enter'
paramcontainer.panel.clear.tooltip = Clear Search Results

params.anticsrf.add.popup	= Add Name as Anti-CSRF Token
params.anticsrf.remove.popup	= Remove Name as Anti-CSRF Token
params.api.view.params		= Shows the parameters for the specified site, or for all sites if the site is not specified
params.api.view.params.param.site=
params.api.desc=
params.desc                 = Summarise and analyse FORM and URL parameters as well as cookies
params.name = Parameters Extension
params.panel.mnemonic		= p
params.panel.title          = \u53c2\u6570
params.search.popup			= \u641c\u7d22
params.session.add.popup	= Flag as Session Token
params.session.remove.popup	= Unflag as Session Token
params.table.header.flags   = Flags
params.table.header.name    = \u540d\u79f0
params.table.header.numvals = \# Values
params.table.header.pcchange = % Change
params.table.header.type    = \u7c7b\u578b
params.table.header.used    = \u4f7f\u7528
params.table.header.values  = \u503c
params.toolbar.site.label   = \u7ad9\u70b9\:
params.toolbar.site.select  = --\u9009\u62e9\u7ad9\u70b9--
params.type.cookie			= Cookie
params.type.form			= FORM
params.type.url				= URL
params.type.header          = Header
params.type.multipart = Multipart

paste.desc        = Provides a right click option to paste text from the clipboard
paste.paste.popup = \u7c98\u8d34

proxy.error.host.unknown = Unknown host
proxy.error.port = Cannot listen on port {0}\:{1} - try specifying a different port for ZAP to use
proxy.error.port.retry = Proxy port {0} was in use. Try\:  
proxy.error.address = \u65e0\u6cd5\u76d1\u542c\u5730\u5740
proxy.error.generic = An error occurred while starting the proxy\:\n\

proxy.error.readtimeout = Failed to read {0} within {1} seconds, check to see if the site is available and if so consider adjusting ZAP''s read time out in the Connection options panel.


proxies.name							= \u672c\u5730\u4ee3\u7406
proxies.desc							= \u7ba1\u7406\u672c\u5730\u4ee3\u7406\u914d\u7f6e
proxies.options.table.header.enabled	= \u6d3b\u52a8
proxies.options.table.header.address	= \u5730\u5740
proxies.options.table.header.port		= \u7aef\u53e3
proxies.options.title					= \u672c\u5730\u4ee3\u7406

pscan.activeAction = Passive scanning {0} messages
pscan.api.action.setEnabled = Sets whether or not the passive scanning is enabled (Note\: the enabled state is not persisted).
pscan.api.action.setEnabled.param.enabled=
pscan.api.action.setScanOnlyInScope = Sets whether or not the passive scan should be performed only on messages that are in scope.
pscan.api.action.setScanOnlyInScope.param.onlyInScope=
pscan.api.action.enableAllScanners = \u542f\u7528\u6240\u6709\u88ab\u52a8\u626b\u63cf\u5668
pscan.api.action.enableAllTags = Enables all passive scan tags.
pscan.api.action.disableAllScanners = \u7981\u7528\u6240\u6709\u88ab\u52a8\u626b\u63cf\u5668
pscan.api.action.enableScanners = Enables all passive scanners with the given IDs (comma separated list of IDs)
pscan.api.action.enableScanners.param.ids=
pscan.api.action.disableAllTags = Disables all passive scan tags.
pscan.api.action.disableScanners = Disables all passive scanners with the given IDs (comma separated list of IDs)
pscan.api.action.disableScanners.param.ids=
pscan.api.action.setScannerAlertThreshold = Sets the alert threshold of the passive scanner with the given ID, accepted values for alert threshold\: OFF, DEFAULT, LOW, MEDIUM and HIGH
pscan.api.action.setScannerAlertThreshold.param.id=
pscan.api.action.setScannerAlertThreshold.param.alertThreshold=
pscan.api.action.setMaxAlertsPerRule = Sets the maximum number of alerts a passive scan rule should raise.
pscan.api.action.setMaxAlertsPerRule.param.maxAlerts=
pscan.api.desc=
pscan.api.view.currentRule = Show information about the passive scan rule currently being run (if any).
pscan.api.view.scanners = Lists all passive scanners with its ID, name, enabled state and alert threshold.
pscan.api.view.recordsToScan	= The number of records the passive scanner still has to scan
pscan.api.view.scanOnlyInScope = Tells whether or not the passive scan should be performed only on messages that are in scope.
pscan.api.view.maxAlertsPerRule = Gets the maximum number of alerts a passive scan rule should raise.
pscan.desc                                  = \u88ab\u52a8\u626b\u63cf\u5668
pscan.footer.label = Passive Scan Queue
pscan.name = \u4e3b\u52a8\u626b\u63cf\u6269\u5c55
pscan.options.header                        = <html><body><p>\u5982\u4e0b\u88ab\u52a8\u626b\u63cf\u89c4\u5219\u5df2\u88ab\u5b9a\u4e49\u3002</p></body></html>

pscan.options.level.label	   = Passive Alert Threshold\:

pscan.options.dialog.scanner.field.label.config                  = Tag\:
pscan.options.dialog.scanner.field.label.editRequestHeaderRegex  = \u8bf7\u6c42\u5934\u6b63\u5219\u8868\u8fbe\u5f0f\:
pscan.options.dialog.scanner.field.label.editRequestUrlRegex     = \u8bf7\u6c42URL\u6b63\u5219\u8868\u8fbe\u5f0f\:
pscan.options.dialog.scanner.field.label.editResponseBodyRegex   = \u54cd\u5e94\u4f53\u6b63\u5219\u8868\u8fbe\u5f0f\:
pscan.options.dialog.scanner.field.label.editResponseHeaderRegex = \u54cd\u5e94\u5934\u6b63\u5219\u8868\u8fbe\u5f0f\:
pscan.options.dialog.scanner.field.label.enabled                 = \u542f\u7528\uff1a
pscan.options.dialog.scanner.field.label.name                    = \u540d\u79f0\:
pscan.options.main.name = \u88ab\u52a8\u626b\u63cf\u5668
pscan.options.main.label.scanOnlyInScope = Only scan messages in scope
pscan.options.main.label.scanFuzzerMessages = Include traffic from the Fuzzer when passive scanning
pscan.options.main.label.maxAlertsPerRule = Max alerts any rule can raise\:
pscan.options.main.label.maxBodySizeInBytes = Max body size in bytes to scan\:
pscan.options.name                          = \u88ab\u52a8\u626b\u63cf
pscan.options.table.header.enabled                 = \u6d3b\u52a8
pscan.options.table.header.name                    = \u540d\u79f0
pscan.options.table.header.configuration = \u6807\u7b7e
pscan.options.dialog.scanner.add.button.confirm             = \u6dfb\u52a0
pscan.options.dialog.scanner.add.title                      = Add Passive Scan Tag Rule
pscan.options.dialog.scanner.modify.title                = Modify Passive Scan Tag Rule
pscan.options.dialog.scanner.modify.button.confirm       = Modify
pscan.options.dialog.scanner.remove.button.cancel        = \u53d6\u6d88
pscan.options.dialog.scanner.remove.button.confirm       = \u5220\u9664
pscan.options.dialog.scanner.remove.checkbox.label       = Do not show this message again
pscan.options.dialog.scanner.remove.text                 = Are you sure you want to remove the selected Passive Scan Tag rule?
pscan.options.dialog.scanner.remove.title                = Remove Passive Scan Tag Rule
pscan.options.dialog.scanner.button.label.command           = ...
pscan.options.dialog.scanner.button.label.workingDir        = ...
pscan.options.dialog.scanner.warning.name.repeated.text = A Passive Scan Tag Rule with the given name already exists.
pscan.options.dialog.scanner.warning.name.repeated.title = Duplicated Passive Scan Tag Rule Name
pscan.options.dialog.scanner.warning.invalid.regex.title = Invalid Regular Expression
pscan.options.dialog.scanner.warning.invalid.requestHeaderRegex  = The provided regular expression for request header is invalid.
pscan.options.dialog.scanner.warning.invalid.requestUrlRegex     = The provided regular expression for request URL is invalid.
pscan.options.dialog.scanner.warning.invalid.responseBodyRegex   = The provided regular expression for response body is invalid.
pscan.options.dialog.scanner.warning.invalid.responseHeaderRegex = The provided regular expression for response header is invalid.

pscan.options.policy.title         		= Passive Scan Rules
pscan.options.policy.apply.label		= \u5e94\u7528
pscan.options.policy.go.button			= Go
pscan.options.policy.rules.label		= \u89c4\u5219
pscan.options.policy.thresholdTo.label	= Threshold To

pscan.stats.passivescanner.title	= Stats Passive Scan Rule
pscan.scripts.passivescanner.title	= Script Passive Scan Rules
pscan.scripts.interface.passive.error = The provided Passive Rules script ({0}) does not implement the required interface.\n\
Please refer to the provided templates for examples.
pscan.scripts.type.passive			= Passive Rules
pscan.scripts.type.passive.desc		= Passive Rules scripts run when the Passive Scanner runs.\n\
\n\
\n\
You must enable them before they will be used.\n\
\n\


report.complete.warning=\u5df2\u751f\u6210\u626b\u63cf\u62a5\u544a\u3002\n\
\u8bf7\u5728\u6b64\u6d4f\u89c8\u6587\u4ef6\uff1a{0}

ruleConfig.api.action.resetRuleConfigValue		= Reset the specified rule configuration, which must already exist
ruleConfig.api.action.resetRuleConfigValue.param.key=
ruleConfig.api.action.resetAllRuleConfigValues	= Reset all of the rule configurations
ruleConfig.api.action.setRuleConfigValue		= Set the specified rule configuration, which must already exist
ruleConfig.api.action.setRuleConfigValue.param.key=
ruleConfig.api.action.setRuleConfigValue.param.value=
ruleConfig.api.desc=
ruleConfig.api.view.ruleConfigValue				= Show the specified rule configuration
ruleConfig.api.view.ruleConfigValue.param.key=
ruleConfig.api.view.allRuleConfigs				= Show all of the rule configurations
ruleconfig.desc					= Active and passive rule configuration
ruleconfig.dialog.button.reset	= \u91cd\u7f6e
ruleconfig.dialog.label.key		= \u5bc6\u94a5\uff1a
ruleconfig.dialog.label.value	= \u503c\uff1a
ruleconfig.dialog.label.default	= \u9ed8\u8ba4\:
ruleconfig.dialog.label.desc	= \u8bf4\u660e\uff1a
ruleconfig.dialog.title			= Edit Rule Configuration
ruleconfig.name = Scanner Rule Configuration Extension
ruleconfig.options.button.reset	= Reset All to Defaults
ruleconfig.options.table.header.key		= \u5bc6\u94a5
ruleconfig.options.table.header.default	= \u9ed8\u8ba4
ruleconfig.options.table.header.value	= \u503c
ruleconfig.options.title 		= Rule Configuration

rules.common.sleep = The length of time in seconds used for timing attacks
rules.cookie.ignorelist = A comma separated list of cookie names. \n\
Cookies included in this list will be ignored when scanning for cookie related issues.
rules.csrf.ignorelist = A comma separated list of identifiers. \n\
Any FORMs with a name or ID that matches one of these identifiers will be ignored when scanning for missing anti-CSRF tokens. \n\
Only use this feature to ignore FORMs that you know are safe, for example search forms.
rules.csrf.ignore.attname = The name of an HTML attribute that can be used to indicate that a form does not need an anti-CSRF Token. If 'rules.csrf.ignore.attvalue' is specified then this must also match the attribute's value. If found any related alerts will be raised at INFO level. 
rules.csrf.ignore.attvalue = The value of an HTML attribute named by 'rules.csrf.ignore.attname' that can be used to indicate that a form does not need an anti-CSRF Token. If found any related alerts will be raised at INFO level.
rules.domains.trusted = A comma separated list of URL regex patterns. Any URLs that match the patterns will be considered trusted domains and the issues ignored.
rules.domxss.browserid = The ID of the browser to be used by DOM XSS scan rule. The IDs supported are documented in the help of DOM XSS add-on.

scanner.category.browser = \u5ba2\u6237\u7aef\u6d4f\u89c8\u5668
scanner.category.info    = \u4fe1\u606f\u6536\u96c6
scanner.category.inject  = \u6ce8\u5165
scanner.category.misc    = \u6742\u9879
scanner.category.server  = \u670d\u52a1\u5668\u5b89\u5168
scanner.category.undef   = \u672a\u5b9a\u4e49
scanner.delete.popup     = \u5220\u9664
scanner.delete.confirm   = Are you sure you want to delete the alert(s)?
scanner.edit.popup       = \u7f16\u8f91...
scanner.false.positive.popup = Mark as False Positive
scanner.save.warning     = \u4fdd\u5b58\u7b56\u7565\u9519\u8bef\u3002

script.api.view.globalVar = Gets the value of the global variable with the given key. Returns an API error (DOES_NOT_EXIST) if no value was previously set.
script.api.view.globalVar.param.varKey=
script.api.view.globalCustomVar = Gets the value (string representation) of a global custom variable. Returns an API error (DOES_NOT_EXIST) if no value was previously set.
script.api.view.globalCustomVar.param.varKey = The key of the variable.
script.api.view.globalVars = Gets all the global variables (key/value pairs).
script.api.view.globalCustomVars = Gets all the global custom variables (key/value pairs, the value is the string representation).
script.api.view.listEngines = Lists the script engines available
script.api.view.listScripts = Lists the scripts available, with its engine, name, description, type and error state.
script.api.view.listTypes = Lists the script types available.
script.api.view.scriptVar = Gets the value of the variable with the given key for the given script. Returns an API error (DOES_NOT_EXIST) if no script with the given name exists or if no value was previously set.
script.api.view.scriptVar.param.scriptName=
script.api.view.scriptVar.param.varKey=
script.api.view.scriptCustomVar = Gets the value (string representation) of a custom variable. Returns an API error (DOES_NOT_EXIST) if no script with the given name exists or if no value was previously set.
script.api.view.scriptCustomVar.param.scriptName = The name of the script.
script.api.view.scriptCustomVar.param.varKey = The key of the variable.
script.api.view.scriptVars = Gets all the variables (key/value pairs) of the given script. Returns an API error (DOES_NOT_EXIST) if no script with the given name exists.
script.api.view.scriptVars.param.scriptName=
script.api.view.scriptCustomVars = Gets all the custom variables (key/value pairs, the value is the string representation) of a script. Returns an API error (DOES_NOT_EXIST) if no script with the given name exists.
script.api.view.scriptCustomVars.param.scriptName = The name of the script.
script.api.action.enable = Enables the script with the given name
script.api.action.enable.param.scriptName=
script.api.action.clearGlobalVar = Clears the global variable with the given key.
script.api.action.clearGlobalVar.param.varKey=
script.api.action.clearGlobalCustomVar = Clears a global custom variable.
script.api.action.clearGlobalCustomVar.param.varKey = The key of the variable.
script.api.action.clearGlobalVars = Clears the global variables.
script.api.action.clearScriptVar = Clears the variable with the given key of the given script. Returns an API error (DOES_NOT_EXIST) if no script with the given name exists.
script.api.action.clearScriptVar.param.scriptName=
script.api.action.clearScriptVar.param.varKey=
script.api.action.clearScriptCustomVar = Clears a script custom variable.
script.api.action.clearScriptCustomVar.param.scriptName = The name of the script.
script.api.action.clearScriptCustomVar.param.varKey = The key of the variable.
script.api.action.clearScriptVars = Clears the variables of the given script. Returns an API error (DOES_NOT_EXIST) if no script with the given name exists.
script.api.action.clearScriptVars.param.scriptName=
script.api.action.disable = Disables the script with the given name
script.api.action.disable.param.scriptName=
script.api.action.load = Loads a script into ZAP from the given local file, with the given name, type and engine, optionally with a description, and a charset name to read the script (the charset name is required if the script is not in UTF-8, for example, in ISO-8859-1).
script.api.action.load.param.scriptName=
script.api.action.load.param.scriptType=
script.api.action.load.param.scriptEngine=
script.api.action.load.param.fileName=
script.api.action.load.param.scriptDescription=
script.api.action.load.param.charset=
script.api.action.remove = Removes the script with the given name
script.api.action.remove.param.scriptName=
script.api.action.runStandAloneScript = Runs the stand alone script with the given name
script.api.action.runStandAloneScript.param.scriptName=
script.api.action.setGlobalVar = Sets the value of the global variable with the given key.
script.api.action.setGlobalVar.param.varKey=
script.api.action.setGlobalVar.param.varValue=
script.api.action.setScriptVar = Sets the value of the variable with the given key of the given script. Returns an API error (DOES_NOT_EXIST) if no script with the given name exists.
script.api.action.setScriptVar.param.scriptName=
script.api.action.setScriptVar.param.varKey=
script.api.action.setScriptVar.param.varValue=
script.api.desc=
script.cmdline.help					= Run the specified script from commandline or load in GUI
script.cmdline.nofile				= Script not found\: {0}
script.cmdline.noread				= Script is not readable\: {0}
script.cmdline.noext				= Script does not have an extension\: {0}
script.cmdline.noengine				= Script Engine not found for extension\: {0}

script.desc							= Script integration
script.info.scriptsNotAdded.message = It was not possible to add the following scripts because of errors\:
script.info.scriptsNotAdded.table.column.scriptName = \u811a\u672c\u540d\u79f0
script.info.scriptsNotAdded.table.column.scriptEngine = \u811a\u672c\u5f15\u64ce
script.info.scriptsNotAdded.table.column.errorCause = Error/Cause
script.info.scriptsNotAdded.error.missingType = Missing Script Type\: {0}
script.info.scriptsNotAdded.error.invalidChars =  Invalid Character Sequence (UTF-8)
script.info.scriptsNotAdded.error.other = (more details in log file)
script.interface.httpsender.error   = No script interface found for HttpSender script
script.interface.proxy.error		= No script interface found for Proxy scripts
script.interface.targeted.error		= No script interface found for Targeted scripts
script.name = Script Extension
script.tree.root					= Scripting
script.tree.scripts					= \u811a\u672c
script.tree.templates				= \u6a21\u677f
script.type.httpsender              = HTTP Sender
script.type.httpsender.desc         = HTTP Sender scripts run against every request/response sent/received by ZAP.\n\
\n\
This includes the proxied messages, messages sent during active scanner, fuzzer, ...\n\
\n\
\n\
You must enable them before they will be used.
script.type.inline					= Inline
script.type.library					= Library
script.type.proxy					= Proxy
script.type.proxy.desc				= Proxy scripts run against every request and response proxied through ZAP.\n\
\n\
\n\
You must enable them before they will be used.
script.type.sequence				= \u5e8f\u5217
script.type.sitemodifier			= Site Modifier
script.type.sitemodifier.desc		= Site Modifier scripts can change the structure of the application as understood by ZAP by changing the Sites Tree as new requests and responses are added.\n\
\n\

script.type.standalone				= Stand Alone
script.type.standalone.desc			= Stand Alone scripts are self contained scripts that can only be run manually.\n\
\n\
\n\
You run them using the 'Run' button in the above toolbar.
script.type.targeted				= Targeted
script.type.targeted.desc			= Targeted scripts are scripts that act on a specified URL or set of URLs.\n\
\n\
\n\
You typically invoke them by right-clicking on a node in the Sites tree or on a record in a list of responses and selecting 'Run with Script'.
script.resource						= Script\: {0}

search.api.desc=
search.api.other.harByHeaderRegex = Returns the HTTP messages, in HAR format, that match the given regular expression in the header(s) optionally filtered by URL and paginated with 'start' position and 'count' of messages.
search.api.other.harByHeaderRegex.param.regex=
search.api.other.harByHeaderRegex.param.baseurl=
search.api.other.harByHeaderRegex.param.start=
search.api.other.harByHeaderRegex.param.count=
search.api.other.harByRequestRegex = Returns the HTTP messages, in HAR format, that match the given regular expression in the request optionally filtered by URL and paginated with 'start' position and 'count' of messages.
search.api.other.harByRequestRegex.param.regex=
search.api.other.harByRequestRegex.param.baseurl=
search.api.other.harByRequestRegex.param.start=
search.api.other.harByRequestRegex.param.count=
search.api.other.harByResponseRegex = Returns the HTTP messages, in HAR format, that match the given regular expression in the response optionally filtered by URL and paginated with 'start' position and 'count' of messages.
search.api.other.harByResponseRegex.param.regex=
search.api.other.harByResponseRegex.param.baseurl=
search.api.other.harByResponseRegex.param.start=
search.api.other.harByResponseRegex.param.count=
search.api.other.harByUrlRegex = Returns the HTTP messages, in HAR format, that match the given regular expression in the URL optionally filtered by URL and paginated with 'start' position and 'count' of messages.
search.api.other.harByUrlRegex.param.regex=
search.api.other.harByUrlRegex.param.baseurl=
search.api.other.harByUrlRegex.param.start=
search.api.other.harByUrlRegex.param.count=
search.api.view.messagesByHeaderRegex = Returns the HTTP messages that match the given regular expression in the header(s) optionally filtered by URL and paginated with 'start' position and 'count' of messages.
search.api.view.messagesByHeaderRegex.param.regex=
search.api.view.messagesByHeaderRegex.param.baseurl=
search.api.view.messagesByHeaderRegex.param.start=
search.api.view.messagesByHeaderRegex.param.count=
search.api.view.messagesByRequestRegex = Returns the HTTP messages that match the given regular expression in the request optionally filtered by URL and paginated with 'start' position and 'count' of messages.
search.api.view.messagesByRequestRegex.param.regex=
search.api.view.messagesByRequestRegex.param.baseurl=
search.api.view.messagesByRequestRegex.param.start=
search.api.view.messagesByRequestRegex.param.count=
search.api.view.messagesByResponseRegex = Returns the HTTP messages that match the given regular expression in the response optionally filtered by URL and paginated with 'start' position and 'count' of messages.
search.api.view.messagesByResponseRegex.param.regex=
search.api.view.messagesByResponseRegex.param.baseurl=
search.api.view.messagesByResponseRegex.param.start=
search.api.view.messagesByResponseRegex.param.count=
search.api.view.messagesByUrlRegex = Returns the HTTP messages that match the given regular expression in the URL optionally filtered by URL and paginated with 'start' position and 'count' of messages.
search.api.view.messagesByUrlRegex.param.regex=
search.api.view.messagesByUrlRegex.param.baseurl=
search.api.view.messagesByUrlRegex.param.start=
search.api.view.messagesByUrlRegex.param.count=
search.api.view.urlsByHeaderRegex = Returns the URLs of the HTTP messages that match the given regular expression in the header(s) optionally filtered by URL and paginated with 'start' position and 'count' of messages.
search.api.view.urlsByHeaderRegex.param.regex=
search.api.view.urlsByHeaderRegex.param.baseurl=
search.api.view.urlsByHeaderRegex.param.start=
search.api.view.urlsByHeaderRegex.param.count=
search.api.view.urlsByRequestRegex = Returns the URLs of the HTTP messages that match the given regular expression in the request optionally filtered by URL and paginated with 'start' position and 'count' of messages.
search.api.view.urlsByRequestRegex.param.regex=
search.api.view.urlsByRequestRegex.param.baseurl=
search.api.view.urlsByRequestRegex.param.start=
search.api.view.urlsByRequestRegex.param.count=
search.api.view.urlsByResponseRegex = Returns the URLs of the HTTP messages that match the given regular expression in the response optionally filtered by URL and paginated with 'start' position and 'count' of messages.
search.api.view.urlsByResponseRegex.param.regex=
search.api.view.urlsByResponseRegex.param.baseurl=
search.api.view.urlsByResponseRegex.param.start=
search.api.view.urlsByResponseRegex.param.count=
search.api.view.urlsByUrlRegex = Returns the URLs of the HTTP messages that match the given regular expression in the URL optionally filtered by URL and paginated with 'start' position and 'count' of messages.
search.api.view.urlsByUrlRegex.param.regex=
search.api.view.urlsByUrlRegex.param.baseurl=
search.api.view.urlsByUrlRegex.param.start=
search.api.view.urlsByUrlRegex.param.count=
search.desc                        = Search messages for strings and regular expressions
search.name = Search Extension
search.optionspanel.name           = \u641c\u7d22
search.optionspanel.option.max.results.gui = Maximum results show in "Search" tab\:
search.panel.title                 = \u641c\u7d22
search.results.table.header.match  = Match
search.toolbar.error.invalid.regex = The provided regular expression is invalid.
search.toolbar.button.options      = \u9009\u9879
search.toolbar.label.inverse	   = Inverse\:
search.toolbar.label.next          = \u4e0b\u4e00\u4e2a
search.toolbar.label.number.of.matches = Number of Matches\: {0}
search.toolbar.label.previous      = \u524d\u4e00\u4e2a
search.toolbar.label.search	       = \u641c\u7d22
search.toolbar.label.status.searching = Searching...
search.toolbar.label.status.complete = Complete
search.toolbar.label.type.all      = \u6240\u6709
search.toolbar.label.type.header   = Header
search.toolbar.label.type.request  = \u8bf7\u6c42
search.toolbar.label.type.response = \u54cd\u5e94
search.toolbar.label.type.url      = URL
search.toolbar.tooltip.inverse	   = Show message that DO NOT match the regular expression
search.toolbar.tooltip.next        = Select next result
search.toolbar.tooltip.previous    = Select previous result
search.toolbar.tooltip.regex       = Regular expression to search for
search.toolbar.warn.regex.match.empty.string.text = The provided regular expression matches an empty string.\n\
This might result in multiple unwanted results.\n\
Search anyway?
search.toolbar.warn.regex.match.empty.string.title = Possible Incorrect Regular Expression
search.toolbar.warn.regex.match.empty.string.button.cancel = \u53d6\u6d88
search.toolbar.warn.regex.match.empty.string.button.search = \u641c\u7d22
search.toolbar.tooltip.search	   = \u641c\u7d22
search.toolbar.tooltip.scope.selected    = \u641c\u7d22\u6240\u6709URL
search.toolbar.tooltip.scope.unselected  = Search only URLs in Scope

session.ascan.exclude.title        = Exclude from Scanner
session.ascan.label.ignore         = URLs which will be ignored by the active scanner 
session.desc                       = Manage Session Tokens
session.dialog.title               = \u4f1a\u8bdd
session.general                    = General
session.general.error.persist.session.props = Failed to persist the session properties (e.g. name, description).
session.generate.popup             = Analyse Session Tokens...
session.label.desc                 = \u8bf4\u660e
session.label.loc				   = \u4f4d\u7f6e
session.label.name                 = Session Name
session.properties.title           = Session Properties
session.proxy.exclude.title        = Exclude from Proxy
session.proxy.label.ignore         = URLs which will be ignored by the local proxies\:
session.scope.exclude.title        = Exclude from Scope
session.scope.include.title        = Include in Scope
session.select.session			   = Session\:
session.select.title			   = Open Session
session.spider.exclude.title       = Exclude from Spider
session.spider.label.ignore        = URLs which will be ignored by the spiders (standard and AJAX) 
session.untitled                   = \u672a\u547d\u540d\u4f1a\u8bdd

session.method.script.dialog.error.title			= Script Loading Error
session.method.script.dialog.error.text.interface	= The provided Session Management script ({0}) does not implement the required interface. Please take a look at the provided templates for examples.
session.method.script.dialog.error.text.loading		= An error has occurred while loading the selected Session Management script\: {0}
session.method.script.dialog.error.text.notLoadedNorConfigured = You need to load and configure a Session Management Script.
session.method.script.field.label.scriptName		= \u811a\u672c\uff1a
session.method.script.field.label.notLoaded			= <html><body><p>\u8fd8\u6ca1\u6709\u52a0\u8f7d\u4efb\u4f55\u811a\u672c\u3002\u4ece\u4e0a\u6846\u4e2d\u9009\u62e9\u4e00\u4e2a\u811a\u672c\uff0c\u7136\u540e\u70b9\u51fb\u201cLoad\u201d\u6309\u94ae\u3002</p></body></html>
session.method.script.load.errorScriptNotFound		= Failed to find context''s Session Management script\:\n\
{0}
session.method.script.type							= Session Management
session.method.script.type.desc						= Session Management scripts run to handle custom session management.\n\
\n\
The script must be properly configured in the Session Properties -> Session Management panel with a 'Script-based Session Management Method'\n\
\n\


sessionManagement.api.view.getSessionManagementMethod = Gets the name of the session management method for the context with the given ID.
sessionManagement.api.view.getSessionManagementMethod.param.contextId=
sessionManagement.api.view.getSessionManagementMethodConfigParams = Gets the configuration parameters for the session management method with the given name.
sessionManagement.api.view.getSessionManagementMethodConfigParams.param.methodName=
sessionManagement.api.view.getSupportedSessionManagementMethods = Gets the name of the session management methods.
sessionManagement.api.action.setSessionManagementMethod = Sets the session management method for the context with the given ID.
sessionManagement.api.action.setSessionManagementMethod.param.contextId=
sessionManagement.api.action.setSessionManagementMethod.param.methodName=
sessionManagement.api.action.setSessionManagementMethod.param.methodConfigParams=
sessionManagement.api.desc=
sessionmanagement.name = Session Management Extension
sessionmanagement.panel.title				= Session Management
sessionmanagement.panel.config.title 		= Configure Session Management Method
sessionmanagement.panel.label.description 	= <html><p>This panel allows you to configure the session management method used for this Context.<p><html>
sessionmanagement.panel.label.typeSelect 	= Currently selected Session Management method for the Context\: 
sessionmanagement.panel.label.noConfigPanel = <html><i>\u6b64\u65b9\u6cd5\u662f\u5b8c\u5168\u914d\u7f6e\u597d\u7684\uff0c\u4e0d\u9700\u8981\u4efb\u4f55\u989d\u5916\u914d\u7f6e\u3002<i></html>
sessionmanagement.method.cb.name 			= Cookie-based Session Management
sessionmanagement.method.ha.name 			= HTTP Authentication Session Management
sessionmanagement.method.sc.name 			= Script-based Session Management

siterefresh.desc           = Adds menu item to refresh the Sites tree
siterefresh.name = Refresh Sites Tree Extension
siterefresh.popop          = Refresh Sites Tree

siteselect.dialog.title		= Select Node
siteselect.button.select	= \u9009\u62e9

sites.delete.popup         = \u5220\u9664(\u4ece\u89c6\u56fe)
sites.exclude.ascan.popup  = \u626b\u63cf\u5668
sites.exclude.popup        = Exclude from
sites.exclude.proxy.popup  = Proxy
sites.exclude.scope.popup  = Session Scope
sites.exclude.spider.popup = Spider
sites.filter.title         = Filter Sites Tree
sites.include.scope.popup  = Include in Session Scope
sites.panel.mnemonic	   = s
sites.panel.title          = \u7ad9\u70b9
sites.purge.popup          = \u5220\u9664
sites.purge.warning        = Are you sure you want to delete the node(s)?\n\
This will delete all of the messages associated with the deleted Site Tree nodes.
sites.resend.popup         = \u518d\u6b21\u53d1\u9001...
sites.spider.popup         = \u722c\u884c...
sites.showinsites.popup    = Show in Sites Tab

spider.activeActionPrefix = Spidering\: {0}
spider.api.action.clearExcludedFromScan = Clears the regexes of URLs excluded from the spider scans.
spider.api.action.excludeFromScan = Adds a regex of URLs that should be excluded from the spider scans.
spider.api.action.excludeFromScan.param.regex=
spider.api.action.setOptionAcceptCookies = Sets whether or not a spider process should accept cookies while spidering.
spider.api.action.setOptionAcceptCookies.param.Boolean=
spider.api.action.setOptionSendRefererHeader = Sets whether or not the 'Referer' header should be sent while spidering.
spider.api.action.setOptionSendRefererHeader.param.Boolean=
spider.api.action.addDomainAlwaysInScope = Adds a new domain that's always in scope, using the specified value. Optionally sets if the new entry is enabled (default, true) and whether or not the new value is specified as a regex (default, false).
spider.api.action.addDomainAlwaysInScope.param.value=
spider.api.action.addDomainAlwaysInScope.param.isRegex=
spider.api.action.addDomainAlwaysInScope.param.isEnabled=
spider.api.action.modifyDomainAlwaysInScope = Modifies a domain that's always in scope. Allows to modify the value, if enabled or if a regex. The domain is selected with its index, which can be obtained with the view domainsAlwaysInScope.
spider.api.action.modifyDomainAlwaysInScope.param.idx=
spider.api.action.modifyDomainAlwaysInScope.param.value=
spider.api.action.modifyDomainAlwaysInScope.param.isRegex=
spider.api.action.modifyDomainAlwaysInScope.param.isEnabled=
spider.api.action.pause=
spider.api.action.pause.param.scanId=
spider.api.action.pauseAllScans=
spider.api.action.removeAllScans=
spider.api.action.removeScan=
spider.api.action.removeScan.param.scanId=
spider.api.action.removeDomainAlwaysInScope = Removes a domain that's always in scope, with the given index. The index can be obtained with the view domainsAlwaysInScope.
spider.api.action.removeDomainAlwaysInScope.param.idx=
spider.api.action.resume=
spider.api.action.resume.param.scanId=
spider.api.action.resumeAllScans=
spider.api.action.enableAllDomainsAlwaysInScope = Enables all domains that are always in scope.
spider.api.action.disableAllDomainsAlwaysInScope = Disables all domains that are always in scope.
spider.api.action.setOptionMaxChildren = Sets the maximum number of child nodes (per node) that can be crawled, 0 means no limit.
spider.api.action.setOptionMaxChildren.param.Integer=
spider.api.action.setOptionMaxDepth = Sets the maximum depth the spider can crawl, 0 for unlimited depth.
spider.api.action.setOptionMaxDepth.param.Integer=
spider.api.action.setOptionMaxParseSizeBytes = Sets the maximum size, in bytes, that a response might have to be parsed. This allows the spider to skip big responses/files.
spider.api.action.setOptionMaxParseSizeBytes.param.Integer=
spider.api.action.scan = Runs the spider against the given URL (or context). Optionally, the 'maxChildren' parameter can be set to limit the number of children scanned, the 'recurse' parameter can be used to prevent the spider from seeding recursively, the parameter 'contextName' can be used to constrain the scan to a Context and the parameter 'subtreeOnly' allows to restrict the spider under a site's subtree (using the specified 'url').
spider.api.action.scan.param.url=
spider.api.action.scan.param.maxChildren=
spider.api.action.scan.param.recurse=
spider.api.action.scan.param.contextName=
spider.api.action.scan.param.subtreeOnly=
spider.api.action.scanAsUser = Runs the spider from the perspective of a User, obtained using the given Context ID and User ID. See 'scan' action for more details.
spider.api.action.scanAsUser.param.contextId=
spider.api.action.scanAsUser.param.userId=
spider.api.action.scanAsUser.param.url=
spider.api.action.scanAsUser.param.maxChildren=
spider.api.action.scanAsUser.param.recurse=
spider.api.action.scanAsUser.param.subtreeOnly=
spider.api.action.setOptionHandleODataParametersVisited=
spider.api.action.setOptionHandleODataParametersVisited.param.Boolean=
spider.api.action.setOptionHandleParameters=
spider.api.action.setOptionHandleParameters.param.String=
spider.api.action.setOptionMaxDuration=
spider.api.action.setOptionMaxDuration.param.Integer=
spider.api.action.setOptionMaxScansInUI=
spider.api.action.setOptionMaxScansInUI.param.Integer=
spider.api.action.setOptionParseComments=
spider.api.action.setOptionParseComments.param.Boolean=
spider.api.action.setOptionParseGit=
spider.api.action.setOptionParseGit.param.Boolean=
spider.api.action.setOptionParseRobotsTxt=
spider.api.action.setOptionParseRobotsTxt.param.Boolean=
spider.api.action.setOptionParseSVNEntries=
spider.api.action.setOptionParseSVNEntries.param.Boolean=
spider.api.action.setOptionParseSitemapXml=
spider.api.action.setOptionParseSitemapXml.param.Boolean=
spider.api.action.setOptionPostForm=
spider.api.action.setOptionPostForm.param.Boolean=
spider.api.action.setOptionProcessForm=
spider.api.action.setOptionProcessForm.param.Boolean=
spider.api.action.setOptionRequestWaitTime=
spider.api.action.setOptionRequestWaitTime.param.Integer=
spider.api.action.setOptionScopeString = Use actions [add|modify|remove]DomainAlwaysInScope instead.
spider.api.action.setOptionScopeString.param.String=
spider.api.action.setOptionShowAdvancedDialog=
spider.api.action.setOptionShowAdvancedDialog.param.Boolean=
spider.api.action.setOptionSkipURLString=
spider.api.action.setOptionSkipURLString.param.String=
spider.api.action.setOptionThreadCount=
spider.api.action.setOptionThreadCount.param.Integer=
spider.api.action.setOptionUserAgent=
spider.api.action.setOptionUserAgent.param.String=
spider.api.action.stop=
spider.api.action.stop.param.scanId=
spider.api.action.stopAllScans=
spider.api.desc=
spider.api.view.addedNodes = Returns a list of the names of the nodes added to the Sites tree by the specified scan.
spider.api.view.addedNodes.param.scanId=
spider.api.view.allUrls = Returns a list of unique URLs from the history table based on HTTP messages added by the Spider.
spider.api.view.domainsAlwaysInScope = Gets all the domains that are always in scope. For each domain the following are shown\: the index, the value (domain), if enabled, and if specified as a regex.
spider.api.view.optionAcceptCookies = Gets whether or not a spider process should accept cookies while spidering.
spider.api.view.optionMaxChildren = Gets the maximum number of child nodes (per node) that can be crawled, 0 means no limit.
spider.api.view.optionMaxDepth = Gets the maximum depth the spider can crawl, 0 if unlimited.
spider.api.view.optionMaxParseSizeBytes = Gets the maximum size, in bytes, that a response might have to be parsed.
spider.api.view.optionSendRefererHeader = Gets whether or not the 'Referer' header should be sent while spidering.
spider.api.view.excludedFromScan = Gets the regexes of URLs excluded from the spider scans.
spider.api.view.fullResults=
spider.api.view.fullResults.param.scanId=
spider.api.view.optionDomainsAlwaysInScope = Use view domainsAlwaysInScope instead.
spider.api.view.optionDomainsAlwaysInScopeEnabled = Use view domainsAlwaysInScope instead.
spider.api.view.optionHandleODataParametersVisited=
spider.api.view.optionHandleParameters=
spider.api.view.optionMaxDuration=
spider.api.view.optionMaxScansInUI=
spider.api.view.optionParseComments=
spider.api.view.optionParseGit=
spider.api.view.optionParseRobotsTxt=
spider.api.view.optionParseSVNEntries=
spider.api.view.optionParseSitemapXml=
spider.api.view.optionPostForm=
spider.api.view.optionProcessForm=
spider.api.view.optionRequestWaitTime=
spider.api.view.optionScope=
spider.api.view.optionScopeText=
spider.api.view.optionShowAdvancedDialog=
spider.api.view.optionSkipURLString=
spider.api.view.optionThreadCount=
spider.api.view.optionUserAgent=
spider.api.view.results=
spider.api.view.results.param.scanId=
spider.api.view.scans=
spider.api.view.status=
spider.api.view.status.param.scanId=
spider.custom.button.reset	= \u91cd\u7f6e
spider.custom.button.scan	= \u5f00\u59cb\u626b\u63cf
spider.custom.label.adv		= \u663e\u793a\u9ad8\u7ea7\u9009\u9879
spider.custom.label.context	= Context\:
spider.custom.label.maxChildren		= Maximum Children to Crawl (0 is unlimited)\:
spider.custom.label.maxDepth		= Maximum Depth to Crawl (0 is unlimited)\:
spider.custom.label.maxDuration		= Maximum Duration (minutes; 0 is unlimited)\:
spider.custom.label.maxParseSizeBytes = Maximum Parse Size (bytes)\:
spider.custom.label.acceptcookies = Accept Cookies\:
spider.custom.label.sendReferer		= Send 'Referer' Header\:
spider.custom.label.postForms		= POST Forms\:
spider.custom.label.parseComments	= Parse HTML Comments\:
spider.custom.label.parseRobots		= Parse 'robots.txt'\:
spider.custom.label.sitemap			= Parse 'sitemap.xml'\:
spider.custom.label.parseSvn		= Parse SVN Metadata\:
spider.custom.label.parseGit		= Parse Git Metadata\:
spider.custom.label.handleOdata		= Handle OData Parameters\:

spider.custom.label.processForms	= Process Forms\:
spider.custom.label.recurse = \u9012\u5f52\:
spider.custom.label.start	= \u8d77\u59cb\u70b9\uff1a
spider.custom.label.spiderSubtreeOnly = Spider Subtree Only
spider.custom.label.user	= \u7528\u6237\uff1a
spider.custom.popup			= \u722c\u884c...
spider.custom.title			= \u722c\u866b
spider.custom.tab.adv		= \u9ad8\u7ea7\u7684
spider.custom.tab.scope		= \u8303\u56f4
spider.custom.notSafe.error = \u722c\u866b\u626b\u63cf\u4e0d\u5141\u8bb8\u5728\u201c\u5b89\u5168\u201d\u6a21\u5f0f\u4f7f\u7528
spider.custom.nostart.error	= \u4f60\u5fc5\u987b\u9009\u62e9\u4e00\u4e2a\u6709\u6548\u8d77\u70b9\n\
\u5305\u62ec\u534f\u8bae\u4f8b\u5982\uff1ahttps\://www.example.com
spider.custom.noStartSubtreeOnly.error = A site node must be selected or a URL manually introduced, to spider a site's subtree.
spider.custom.targetNotInScope.error = The following target is not allowed in ''Protected'' mode\:\n\
{0}

spider.desc                     = Spider used for automatically finding URIs on a site
spider.label.inScope            = \u6293\u53d6\u8fc7\u7a0b\u4e2d\u53d1\u73b0\u7684URI\uff1a
spider.label.outOfScope         = \u53d1\u73b0\u7684URL\u8d85\u51fa\u6293\u53d6\u8303\u56f4\uff1a
spider.name = Spider Extension
spider.options.label.depth      = Maximum Depth to Crawl (0 is unlimited)\:
spider.options.label.domains    = Domains that are always 'in scope'
spider.options.domains.in.scope.add.title = Add Domain Always In Scope
spider.options.domains.in.scope.add.button.confirm = \u6dfb\u52a0
spider.options.domains.in.scope.field.label.domain = \u57df\uff1a
spider.options.domains.in.scope.field.label.regex = \u6b63\u5219\u8868\u8fbe\u5f0f\uff1a
spider.options.domains.in.scope.field.label.enabled = \u542f\u7528\uff1a
spider.options.domains.in.scope.modify.title = Modify Domain Always In Scope
spider.options.domains.in.scope.modify.button.confirm = Modify
spider.options.domains.in.scope.warning.invalid.regex.title = Domain Always In Scope Regex Invalid
spider.options.domains.in.scope.warning.invalid.regex.text = The regular expression is invalid.
spider.options.domains.in.scope.table.header.enabled = \u6d3b\u52a8
spider.options.domains.in.scope.table.header.regex = Regex
spider.options.domains.in.scope.table.header.value = \u57df
spider.options.domains.in.scope.dialog.remove.title = Remove Domain Always In Scope
spider.options.domains.in.scope.dialog.remove.text = Are you sure you want to remove the selected domain?
spider.options.domains.in.scope.dialog.remove.button.cancel = \u53d6\u6d88
spider.options.domains.in.scope.dialog.remove.button.confirm = \u5220\u9664
spider.options.domains.in.scope.dialog.remove.checkbox.label = Do not show this message again
spider.options.label.acceptcookies = Accept Cookies
spider.options.label.sendRefererHeader = Send "Referer" header
spider.options.label.post       = POST forms (recommended but may generate unwanted requests)
spider.options.label.processform= Process forms (forms are processed and GET queries submitted)
spider.options.label.threads    = Number of Threads Used\:
spider.options.label.comments	= Parse HTML Comments  
spider.options.label.duration	= Maximum Duration (minutes; 0 is unlimited)\:
spider.options.label.maxChildren = Maximum Children to Crawl (0 is unlimited)\:
spider.options.label.maxParseSizeBytes = Maximum Parse Size (bytes)\:
spider.options.label.robotstxt 	= Parse 'robots.txt' files for new URIs
spider.options.label.sitemapxml = Parse 'sitemap.xml' files for new URIs
spider.options.label.svnentries = Parse SVN metadata files for new URIs
spider.options.label.git 		= Parse Git metadata files for new URIs
spider.options.label.handlehodataparameters = Handle OData-specific parameters
spider.options.label.handleparameters				= Query parameters handling for checking visited URIs\:
spider.options.value.handleparameters.useAll 		= Consider both parameter's name and value
spider.options.value.handleparameters.ignoreValue 	= Consider only parameter's name
spider.options.value.handleparameters.ignoreAll 	= Ignore parameters completely

spider.options.title            = Spider
spider.panel.emptyView	        = You need to visit the website via a browser first and select a URL/folder/node in the 'Sites' panel displayed.
spider.panel.mnemonic			= d
spider.panel.title              = Spider
spider.panel.tab.addednodes		= Added Nodes
spider.panel.tab.messages = Messages
spider.panel.tab.urls = \u7f51\u5740
spider.parsefilter.reason.empty = Empty Message
spider.parsefilter.reason.maxsize = Max Size
spider.parsefilter.reason.nottext = Not Text
spider.parsefilter.reason.maxchildren = Max Children
spider.task.message.skipped.stopped = Spider Stopped
spider.task.message.skipped.maxdepth = Max Depth
spider.task.message.skipped.ioerror = I/O\u9519\u8bef
spider.table.header.uri 		= URI
spider.table.header.inScope    	= Processed
spider.table.header.method    	= \u65b9\u6cd5
spider.table.header.flags    	= Flags
spider.table.flags.seed = Seed
spider.table.flags.outofcontext = Out of Context
spider.table.flags.outofscope = Out of Scope
spider.table.flags.illegalprotocol = Illegal Protocol
spider.table.flags.userrules = User Rules
spider.table.messages.header.processed = Processed
spider.table.messages.column.processed.successfully = \u6210\u529f\u7684
spider.toolbar.found.label    	= URLs Found\:
spider.toolbar.added.label		= Nodes Added\:
spider.toolbar.ascans.label     = \u5f53\u524d\u626b\u63cf\:
spider.toolbar.button.clear     = \u6e05\u9664\u5df2\u5b8c\u6210\u7684\u626b\u63cf
spider.toolbar.button.new		= \u65b0\u626b\u63cf
spider.toolbar.button.options   = Spider Options
spider.toolbar.button.pause     = \u6682\u505c\u722c\u884c
spider.toolbar.button.stop      = \u505c\u6b62\u722c\u884c
spider.toolbar.button.unpause   = \u7ee7\u7eed\u722c\u884c
spider.toolbar.progress.label	= \u8fdb\u5c55\uff1a
spider.toolbar.progress.select	= --\u9009\u62e9\u626b\u63cf--
spider.url.popup				= Spider URL
spider.subtree.popup			= Spider Subtree
spider.scope.popup				= Spider all in Scope 
spider.site.popup               = \u722c\u884c\u7ad9\u70b9
spider.context.popup            = Spider Context...
spider.url.user.popup			= Spider URL as User...
spider.context.user.popup		= Spider Context as User...

start.cmdline.badfile		= File type is not supported ''{0}''
start.cmdline.badparam		= Unsupported option ''{0}''.;
start.cmdline.nofile		= File not found ''{0}''
start.cmdline.noparam		= Missing parameters for option ''{0}''
start.cmdline.noread		= File is not readable ''{0}''
start.db.error      = Could not access database\n\
Maybe another ZAP process is running?\n\

start.gui.cmdline.invalid.session.options = Invalid command line session options\:\n\
option ''{0}'' not allowed with option ''{1}''\n\
\n\
A new empty session will be created in {2}
start.gui.cmdline.session.does.not.exist = Session given at command line does not exist.\n\
\n\
A new empty session will be created in {0}
start.gui.cmdline.newsession.already.exist = New session given at command line already exists.\n\
\n\
A new empty session will be created in {0}
start.gui.dialog.fatal.error.title = Failed to start ZAP
start.gui.dialog.fatal.error.message = A fatal error occurred that prevents ZAP from start.\n\
Consider reporting the error with following details\:
start.gui.headless = ZAP GUI is not supported on a headless environment.\n\
Run ZAP inline or in daemon mode, use {0} command line argument for more details.
start.gui.warn.addOnsOrExtensionsNoLongerRunning = The following add-ons, or its extensions, will no longer be run\n\
until its requirements are restored\:
start.splash.start			= \u6b63\u5728\u542f\u52a8ZAP\u2026\u2026\n\

start.splash.tips.loading	= Loading ZAP Tips and Tricks...
start.splash.tips.none		= No ZAP Tips and Tricks available \:(
start.splash.tips.title		= ZAP Tips and Tricks\:\n\
\n\

start.title.error   = \u672a\u80fd\u542f\u52a8ZAP
start.unknown.error = Unexpected Error. Please report as an issue.

state.name = Session State Extension

stats.api.view.stats				= Statistics
stats.api.view.stats.param.keyPrefix=
stats.api.view.allSitesStats		= Gets all of the site based statistics, optionally filtered by a key prefix
stats.api.view.allSitesStats.param.keyPrefix=
stats.api.view.optionInMemoryEnabled	= Returns 'true' if in memory statistics are enabled, otherwise returns 'false'
stats.api.view.optionStatsdEnabled	= Returns 'true' if a Statsd server has been correctly configured, otherwise returns 'false'
stats.api.view.optionStatsdHost		= Gets the Statsd service hostname
stats.api.view.optionStatsdPort		= Gets the Statsd service port
stats.api.view.optionStatsdPrefix	= Gets the prefix to be applied to all stats sent to the configured Statsd service
stats.api.view.siteStats			= Gets all of the global statistics, optionally filtered by a key prefix
stats.api.view.siteStats.param.site=
stats.api.view.siteStats.param.keyPrefix=
stats.api.action.clearStats			= Clears all of the statistics
stats.api.action.clearStats.param.keyPrefix=
stats.api.action.setOptionInMemoryEnabled	= Sets whether in memory statistics are enabled
stats.api.action.setOptionInMemoryEnabled.param.Boolean=
stats.api.action.setOptionStatsdHost	= Sets the Statsd service hostname, supply an empty string to stop using a Statsd service
stats.api.action.setOptionStatsdHost.param.String=
stats.api.action.setOptionStatsdPort	= Sets the Statsd service port
stats.api.action.setOptionStatsdPort.param.Integer=
stats.api.action.setOptionStatsdPrefix	= Sets the prefix to be applied to all stats sent to the configured Statsd service
stats.api.action.setOptionStatsdPrefix.param.String=
stats.api.desc=
stats.desc							= Statistics
stats.name = Statistics Extension
stats.options.error.statsd.host.bad	= Invalid Statsd Hostname
stats.options.label.statsd.host		= Statsd Hostname\:
stats.options.label.statsd.port		= Statsd Port\:
stats.options.label.statsd.prefix	= Statsd Prefix\:
stats.options.mem.enabled			= In Memory Statistics Enabled
stats.options.statsd.enabled		= Statsd Server Enabled
stats.options.statsd.panel			= Statsd Server Details
stats.options.title 				= Statistics

std.menu.ext.name = Standard Menus Extension

stdexts.copyurls.popup = Copy URLs to Clipboard
stdexts.desc = A set of common popup menus for miscellaneous tasks

support.home.directory.label = ZAP Home Directory\:
support.install.directory.label = ZAP Installation Directory\:
support.installed.addons.label = \u5df2\u5b89\u88c5\u7684\u9644\u52a0\u7ec4\u4ef6\uff1a
support.java.version.label = Java\u7248\u672c\uff1a
support.laf.label = Look and Feel\:
support.locale.display.label = Display Locale\:
support.locale.format.label = Format Locale\:
support.locale.system.label = System's Locale\:
support.operating.system.label = \u64cd\u4f5c\u7cfb\u7edf\uff1a
support.open.button = Open
support.open.button.tooltip = Open ZAP's Home Directory
support.version.label = \u7248\u672c\uff1a

tab.break               = \u4e2d\u65ad
tab.doubleClick.warning = You have double-clicked on a tab.\n\
The tab window will now be maximised -\n\
you can return the tab window to its previous\n\
size by double clicking on the tab again.\n\
Select Cancel to keep the tab window as it is. 
tab.sites               = \u7ad9\u70b9

target.allInScope			= \u8303\u56f4\u5185\u7684\u4e00\u5207
target.empty				= Empty

technologies.db = DB
technologies.lang = \u8bed\u8a00
technologies.os = OS
technologies.scm = SCM
technologies.ws = WS

timestamp.format.datetime = yyyy-MM-dd HH\:mm\:ss
timestamp.format.timeonly = HH\:mm\:ss
# The following delimiter is used between timestamps and messages that are being stamped
timestamp.format.delimiter\ \=\ \:=

uiutils.desc = Core UI related functionality.
uiutils.name = Core UI Extension

users.api.action.newUser = Creates a new user with the given name for the context with the given ID.
users.api.action.newUser.param.contextId = The Context Id
users.api.action.newUser.param.name=
users.api.action.removeUser = Removes the user with the given ID that belongs to the context with the given ID.
users.api.action.removeUser.param.contextId =  The Context Id
users.api.action.removeUser.param.userId = The User Id
users.api.action.setAuthenticationCredentials = Sets the authentication credentials for the user with the given ID that belongs to the context with the given ID.
users.api.action.setAuthenticationCredentials.param.contextId = The Context Id
users.api.action.setAuthenticationCredentials.param.userId = The User Id
users.api.action.setAuthenticationCredentials.param.authCredentialsConfigParams=
users.api.action.setAuthenticationState = Sets fields in the authentication state for the user identified by the Context and User Ids.
users.api.action.setAuthenticationState.param.contextId = The Context Id
users.api.action.setAuthenticationState.param.userId = The User Id
users.api.action.setAuthenticationState.param.lastPollResult = Last Poll Result - optional, should be 'true' or 'false'.
users.api.action.setAuthenticationState.param.lastPollTimeInMs = Last Poll Time in Milliseconds - optional, should be a long or 'NOW' for the current time in ms.
users.api.action.setAuthenticationState.param.requestsSinceLastPoll = Requests Since Last Poll - optional, should be an integer.
users.api.action.setCookie = Sets the specified cookie for the user identified by the Context and User Ids.
users.api.action.setCookie.param.contextId = The Context Id
users.api.action.setCookie.param.userId = The User Id
users.api.action.setCookie.param.domain = The Cookie Domain
users.api.action.setCookie.param.name = The Cookie Name
users.api.action.setCookie.param.value = The Cookie Value
users.api.action.setCookie.param.path = The Cookie Path - optional default no path
users.api.action.setCookie.param.secure = If the Cookie is secure - optional default false
users.api.action.setUserEnabled = Sets whether or not the user, with the given ID that belongs to the context with the given ID, should be enabled.
users.api.action.setUserEnabled.param.contextId = The Context Id
users.api.action.setUserEnabled.param.userId = The User Id
users.api.action.setUserEnabled.param.enabled=
users.api.action.setUserName = Renames the user with the given ID that belongs to the context with the given ID.
users.api.action.setUserName.param.contextId = The Context Id
users.api.action.setUserName.param.userId = The User Id
users.api.action.setUserName.param.name=
users.api.action.authenticateAsUser = Tries to authenticate as the identified user, returning the authentication request and whether it appears to have succeeded.
users.api.action.authenticateAsUser.param.contextId = The Context Id
users.api.action.authenticateAsUser.param.userId = The User Id
users.api.action.pollAsUser = Tries to poll as the identified user, returning the authentication request and whether it appears to have succeeded. \n\
This will only work if the polling verification strategy has been configured.
users.api.action.pollAsUser.param.contextId = The Context Id
users.api.action.pollAsUser.param.userId = The User Id
users.api.desc=
users.api.view.getAuthenticationCredentials = Gets the authentication credentials of the user with given ID that belongs to the context with the given ID.
users.api.view.getAuthenticationCredentials.param.contextId = The Context Id
users.api.view.getAuthenticationCredentials.param.userId = the User Id
users.api.view.getAuthenticationCredentialsConfigParams = Gets the configuration parameters for the credentials of the context with the given ID.
users.api.view.getAuthenticationCredentialsConfigParams.param.contextId = The Context Id
users.api.view.getAuthenticationSession = Gets the authentication session information for the user identified by the Context and User Ids, e.g. cookies and realm credentials.
users.api.view.getAuthenticationSession.param.contextId = The Context Id
users.api.view.getAuthenticationSession.param.userId = The User Id
users.api.view.getAuthenticationState = Gets the authentication state information for the user identified by the Context and User Ids.
users.api.view.getAuthenticationState.param.contextId = The Context Id
users.api.view.getAuthenticationState.param.userId = The User Id
users.api.view.usersList = Gets a list of users that belong to the context with the given ID, or all users if none provided.
users.api.view.usersList.param.contextId = The Context Id
users.api.view.getUserById = Gets the data of the user with the given ID that belongs to the context with the given ID.
users.api.view.getUserById.param.contextId = The Context Id
users.api.view.getUserById.param.userId = The User Id
users.panel.title 							= Users
users.panel.description						= Users which can be used for various operations for this context.
users.table.header.enabled 					= \u6d3b\u52a8
users.table.header.name 					= \u540d\u79f0
users.table.header.id						= ID
users.dialog.add.title 						= \u6dfb\u52a0\u4e00\u540d\u65b0\u7528\u6237
users.dialog.add.button.confirm 			= \u6dfb\u52a0
users.dialog.add.field.label.name 			= \u7528\u6237\u540d\uff1a
users.dialog.add.field.label.enabled 		= \u542f\u7528\uff1a
users.dialog.modify.title 					= \u4fee\u6539\u73b0\u6709\u7528\u6237
users.dialog.modify.button.confirm 			= Modify
users.dialog.remove.button.cancel        	= \u53d6\u6d88
users.dialog.remove.button.confirm       	= \u5220\u9664
users.dialog.remove.checkbox.label       	= \u4e0d\u8981\u518d\u663e\u793a\u6b64\u6d88\u606f
users.dialog.remove.text           			= \u4f60\u786e\u5b9a\u8981\u5220\u9664\u6240\u9009\u7528\u6237\u5417\uff1f
users.dialog.remove.title          			= Remove User
users.name = Users Extension

view.cert.title = \u8bc1\u4e66
view.cert.button.close = \u5173\u95ed

view.dialog.dontPrompt       		= Do not show this message again
view.dialog.remember				= \u8bb0\u4f4f\u6211\u7684\u9009\u62e9\u5e76\u4e0d\u8981\u518d\u663e\u793a\u6b64\u6d88\u606f
view.href.table.header.timestamp.request = Req. Timestamp
view.href.table.header.timestamp.response = Resp. Timestamp
view.href.table.header.hrefid		= Id
view.href.table.header.hreftype		= \u7c7b\u578b
view.href.table.header.hreftype.name = Source
view.href.table.header.method		= \u65b9\u6cd5
view.href.table.header.url			= URL
view.href.table.header.code			= Code
view.href.table.header.reason		= Reason
view.href.table.header.rtt			= RTT
view.href.table.header.sessionid	= \u4f1a\u8bdd
view.href.table.header.size.message	= Size
view.href.table.header.size.requestheader = Size Req. Header
view.href.table.header.size.requestbody = Size Req. Body
view.href.table.header.size.responseheader = Size Resp. Header
view.href.table.header.size.responsebody = Size Resp. Body
view.href.table.header.highestalert	= Highest Alert
view.href.table.header.hostname = Host Name
view.href.table.header.note         = Note
view.href.table.header.pathandquery = Path and Query
view.href.table.header.tags			= Tags
view.href.table.cell.alert.risk.label.high   = \u9ad8\u7b49\u7684
view.href.table.cell.alert.risk.label.medium = \u4e2d\u7b49\u7684
view.href.table.cell.alert.risk.label.low    = \u4f4e
view.href.table.cell.alert.risk.label.info   = Informational
view.href.table.cell.alert.risk.label.undefined = \u672a\u5b9a\u4e49
view.href.type.name.auth = Auth
view.href.type.name.proxy = Proxy
view.href.type.name.manual = \u4eba\u5de5\u7684
view.href.type.name.undefined = \u672a\u5b9a\u4e49

view.options.label.advancedview             = Activate advanced view
view.options.label.allowAppsInContainers	= Enable app integration in containers
view.options.label.askonexit                = Ask for confirmation to save data on exit
view.options.label.brkPanelView             = Show break buttons\:
view.options.label.brkPanelView.both        = Break panel and toolbar
view.options.label.brkPanelView.breakonly   = Only in the break panel
view.options.label.brkPanelView.toolbaronly = Only in the toolbar
view.options.label.display                  = \u663e\u793a\:
view.options.label.display.bottom           = Maximise bottom (History, etc.) tabs
view.options.label.display.horizontal       = Horizontal
view.options.label.display.left             = \u6700\u5927\u5316\u5de6\u8fb9(\u7ad9\u70b9)\u7684\u6807\u7b7e
view.options.label.display.full             = Full Layout
view.options.label.display.tabs             = Tabs
view.options.label.display.vertical         = Vertical
view.options.label.exampleText				= Example text (default size)
view.options.label.fontExample				= Font Example\:
view.options.label.fontName					= Font Name\:
view.options.label.fontSize         		= Font Size\:
view.options.label.generalFont              = General Font
view.options.label.workPanelsFont           = Work Panels Font
view.options.label.largeRequestSize			= Large request view min size\:
view.options.label.largeResponseSize		= Large response view min size\:
view.options.label.lookandfeel              = Look and Feel\: 
view.options.label.processImages            = \u5728HTTP\u8bf7\u6c42/\u54cd\u5e94\u4e2d\u7684\u5904\u7406\u56fe\u50cf
view.options.label.responsepanelpos         = Response Panel Position\:
view.options.label.responsepanelpos.above   = Request Shown Above Response
view.options.label.responsepanelpos.sideBySide = Panels Side by Side
view.options.label.responsepanelpos.tabs    = Tabs Side by Side
view.options.label.responsepanelpos.tabSideBySide = Side by Side in Tab
view.options.label.showSplashScreen			= Show splash screen
view.options.label.showlocalconnectrequests = Show (local) CONNECT requests
view.options.label.scaleImages				= Scale Images\:
view.options.label.showTabNames             = Show Tab Names
view.options.label.showMainToolbar          = Show Main Toolbar
view.options.label.wmuihandler              = Let Window Manager handle ZAP window
view.options.title                          = \u663e\u793a
view.options.warn.applylaf                  = <html><br>Dynamically applying the new Look and Feel.<br>You may need to restart ZAP if you see any UI glitches.<br><br></html>
view.table.autoscroll.label = Auto-Scroll
view.table.autoscroll.tooltip = Auto-scrolls when new entries are added to the table, if the scroll bar is at the bottom.
view.table.useJustBytes.label = Show Bytes Only
view.table.useJustBytes.tooltip = <html>Shows byte values without conversion to bigger units.<br />For example, a value of 1024 bytes is shown as "1024 bytes" instead of "1 KiB".</html>
view.toolbar.expandInfo                     = Expand Information Tabs
view.toolbar.expandSites                    = Expand Sites Tab
view.toolbar.expandFull                     = Full Layout
view.toolbar.showNames                      = Show tab names and tab icons
view.toolbar.showIcons                      = Show tab icons and hide tab names
view.toolbar.messagePanelsPosition.tabSideBySide = Request and Response panels side by side in the same tab
view.toolbar.messagePanelsPosition.tabs     = Request and Response tabs side by side
view.toolbar.messagePanelsPosition.above    = Request shown above Response
view.toolbar.messagePanelsPosition.above.disabled = (Not supported in Full Layout) Request shown above Response
view.toolbar.messagePanelsPosition.sideBySide = Request and Response panels side by side
view.toolbar.messagePanelsPosition.sideBySide.disabled = (Not supported in Full Layout) Request and Response panels side by side
view.toolbar.mode.attack.select				= \u653b\u51fb\u6a21\u5f0f
view.toolbar.mode.protect.select            = Protected Mode
view.toolbar.mode.safe.select               = \u5b89\u5168\u6a21\u5f0f
view.toolbar.mode.standard.select           = \u6807\u51c6\u6a21\u5f0f
view.toolbar.mode.tooltip 	          		= <html>\n\
Safe mode\: will not allow you to do anything potentially dangerous<br>\n\
Protected mode\: will only allow you to do potentially dangerous things on items in Scope<br>\n\
Standard mode\: will allow you to do potentially dangerous things on anything<br>\n\
ATTACK mode\: will active scan new nodes that are in scope as they are discovered</html>
view.toolbar.switchLookAndFeel				= Dynamically switch the Look and Feel

writable.file.chooser.write.diskspace.warning.dialog.message=There is less than 5MB available, would you like to continue the operation?
writable.file.chooser.write.diskspace.warning.dialog.title=Low Disk Space
writable.file.chooser.write.overwrite.dialog.message=The selected file already exists. Do you want to replace it?
writable.file.chooser.write.overwrite.dialog.title=Existing File
writable.file.chooser.write.permission.dialog.title=Permissions Failure
writable.file.chooser.write.permission.dir.dialog.message=Directory not writable\:\n\
{0}\n\
Please select a different location.
writable.file.chooser.write.permission.file.dialog.message=File not writable\:\n\
{0}\n\
Please select a different location.

messagelocationspanel.add.location.warning.locations.overlap = Selected location not valid.\n\
The selected location overlaps an already added location.
messagelocationspanel.add.location.tooltip = To add a location you must select it first in the message.
messagelocationspanel.dialog.remove.location.button.cancel = \u53d6\u6d88
messagelocationspanel.dialog.remove.location.button.confirm = \u5220\u9664
messagelocationspanel.dialog.remove.location.checkbox.label = Do not show this message again
messagelocationspanel.dialog.remove.location.text = Are you sure you want to remove the selected message location?
messagelocationspanel.dialog.remove.location.title = Remove Message Location

messagelocations.table.header.location = \u4f4d\u7f6e
messagelocations.table.header.value = \u503c

messagelocation.text.highlight.colorpicker = \u9009\u62e9\u4e00\u79cd\u989c\u8272

messagelocation.http.text.location.header = Header
messagelocation.http.text.location.body = Body
messagelocation.http.text.location.unknown = \u672a\u77e5
